试图让stasm在Ubuntu上运行(Trying to get stasm to work on

2019-09-26 13:24发布

我有以下的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:

如何创建与G ++静态库? ,第一个答案,把所有的.o文件从Linux文件夹,并把它变成一个存档。

但是当我运行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

有没有人得到了一个cmake的项目,stasm在Linux上之前的工作? 我也不得不删除包括stasm_dll.cpp“WINDOWS.H”,和其他Windows特定的代码,这不是正确完成,允许在Linux上运行。

我已经得到了Linux文件夹生成二进制文件和他们的工作很好,现在我只需要将此功能合并到自己的项目..

Answer 1:

看来,原因是Stasm的设立是为了使在Windows可执行文件做图像处理。 Stasm不作为一样,我正在做我自己的静态和共享库,会像你可以用它来导入到一个随机的项目,并指定参数库的库。

基本上modifiying的main.cpp到另一个类,取出测试/不必要的代码,并得到一个薄处理的版本。



文章来源: Trying to get stasm to work on Ubuntu