【问题标题】:Trying to get stasm to work on Ubuntu试图让 stasm 在 Ubuntu 上工作
【发布时间】:2012-12-06 01:51:33
【问题描述】:

我在 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:

How to create a static library with g++?,第一个答案,从 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 上获得过使用 stasm 的 cmake 项目?我还必须从 stasm_dll.cpp 中删除一个包含“windows.h”的 n,以及其他未正确完成以允许在 linux 上工作的 Windows 特定代码。

我已经获得了 linux 文件夹来生成二进制文件并且它们运行良好,现在我只需要将这个功能合并到我自己的项目中..

【问题讨论】:

    标签: gcc compilation cmake


    【解决方案1】:

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

    基本上将 main.cpp 修改为另一个类并取出测试/不必要的代码并获得精简处理版本。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-04-17
      • 1970-01-01
      • 2017-01-31
      • 1970-01-01
      • 2016-02-06
      • 2021-03-24
      • 2014-10-05
      • 1970-01-01
      相关资源
      最近更新 更多