本文共 938 字,大约阅读时间需要 3 分钟。
问题:
入手方向1:
make VERBOSE=1,打印出编译细节。
->
cd /xx/build/src/service && /usr/bin/cmake -E cmake_link_script CMakeFiles/Demo.dir/link.txt --verbose=1
cmake -E cmake_link_script : 执行命令cmake_link_script
入手方向2:
debug cmake执行过程,显示cmake执行细节:
rm * -rf;cmake -DCMAKE_TOOLCHAIN_FILE=../Toolchain.cmake ../ --debug-output
解读CMakeLists.txt
调试cmake命令:cmake -P 脚本文件
find_package作用
find_package, add_subdirectory: 会隐含将包含其他cmake中内容
set_target_properties作用:
set_target_properties(target1 target2 ... PROPERTIES prop1 value1 prop2 value2 ...)
分析cmake的作用:
解决方案
方案1:重新制作库文件(第三方独立库)
参考:
见附件
方案2:
在toolchain.cmake中指定3rd party库的路径
SET(ENV{LDFLAGS} "$ENV{LDFLAGS} -L/home/t1/lib/aarch64-linux-gnu")
/home/t1/lib/aarch64-linux-gnu路径下面有该3rd party库
说明:
1,CMakeLists.txt中添加
set(CMAKE_INCLUDE_PATH "include_path")
set(CMAKE_LIBRARY_PATH "lib_path")
不起作用
2, 下面这个方式,没有验证过。
export CMAKE_INCLUDE_PATH=xxx
export CMAKE_LIBRARY_PATH=yyy
转载地址:https://chilaidashi.blog.csdn.net/article/details/107067755 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!