CMake:当添加arm neon编译器选项时,不链接已存在的库

时间:2014-08-15 22:17:44

标签: c++ cmake arm simd neon

我需要使用氖指令在https://github.com/RainerKuemmerle/g2o处为ARM优化库g2o。我在运行Ubuntu的ARMv7机器上运行我的代码。

我编辑了主CMakesLists.txt file并添加了编译器选项,如下所示

set(ARM_CXX_FLAGS "--march=armv7-a -mfloat-abi=softfp  -mfpu=neon")

并编辑了行

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${g2o_CXX_FLAGS}")

SET(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} ${g2o_CXX_FLAGS} ${ARM_CXX_FLAGS }")   

之后我能够加入

#include <arm_neon.h>

和其中一个文件中的一些示例矢量化代码,并执行cmake并成功完成。但是当我尝试通过命令

在根文件夹中使用输入文件执行cli应用程序时
./g2o -v ../input_file

我收到的错误是其他一些完全不同的库遗失了。

# Used Compiler: GNU /usr/bin/c++
bool g2o::DlWrapper::openLibrary(const string&) Cannot open library: libGL.so.1: cannot open       shared object file: No such file or directory
bool g2o::DlWrapper::openLibrary(const string&) Cannot open library: libcholmod.so.2.1.2: cannot open shared object file: No such file or directory
bool g2o::DlWrapper::openLibrary(const string&) Cannot open library: libcxsparse.so.3.1.2: cannot open shared object file: No such file or directory
bool g2o::DlWrapper::openLibrary(const string&) Cannot open library: libcxsparse.so.3.1.2: cannot open shared object file: No such file or directory

如上所述,在进行CMakeLists.txt中的更改之前,应用程序运行正常。我无法理解导致这种情况的原因,因为我没有在CMakesLists文件中进行任何其他更改。怎么可能出错?我给编译器选项错了吗?

0 个答案:

没有答案