Gcc 试图让stasm在Ubuntu上工作

Gcc 试图让stasm在Ubuntu上工作,gcc,compilation,cmake,Gcc,Compilation,Cmake,我在Cmake文件中有以下内容: add_library(stasm STATIC IMPORTED) set_property(TARGET stasm PROPERTY IMPORTED_LOCATION /media/Data/sdks/stasm3.1/linux/libstasm.a) target_link_libraries( StasmOpencvExample ${OpenCV_LIBS} stasm) 我通过以下操作生成libstasm.a: ,第一

我在Cmake文件中有以下内容:

add_library(stasm STATIC IMPORTED)
set_property(TARGET stasm PROPERTY
            IMPORTED_LOCATION /media/Data/sdks/stasm3.1/linux/libstasm.a)
target_link_libraries( StasmOpencvExample ${OpenCV_LIBS} stasm)
我通过以下操作生成libstasm.a:

,第一个答案,从linux文件夹中取出所有.o文件并将其放入存档

但当我在我的项目上运行make时,我得到:

Scanning dependencies of target StasmOpencvExample
[100%] Building CXX object CMakeFiles/StasmOpencvExample.dir/stasm_opencv_example.cpp.o
Linking CXX executable StasmOpencvExample
CMakeFiles/StasmOpencvExample.dir/stasm_opencv_example.cpp.o: In function `main':
stasm_opencv_example.cpp:(.text+0x9a): undefined reference to `AsmSearchDll(int*, int*,      char const*, char const*, int, int, int, char const*, char const*)'
collect2: ld returned 1 exit status
以前有人在linux上使用过cmake项目吗?我还必须从stasm_dll.cpp中删除一个n include windows.h,以及其他windows特定的代码,这些代码没有正确执行,无法在linux上工作


我已经获得了linux文件夹来生成二进制文件,它们工作得很好,现在我只需要将此功能合并到我自己的项目中。

原因似乎是创建Stasm是为了在进行图像处理的Windows上生成可执行文件。Stasm不像一个库,我目前正在创建我自己的静态和共享库,它就像一个库,可以用来导入到随机项目中并指定参数

基本上,将main.cpp修改为另一个类,去掉测试/不必要的代码,得到精简的处理版本