返回

c++-CMAKE共享、编译错误、频繁失败

发布时间:2022-06-04 19:34:14 291
# golang

我正在用CMAKE编译文件,当我用静态库编译时,程序运行良好。但是我把它变成动态运行的时候,却报编译错误。

在此处输入图像描述 在此处输入图像描述

我的 CMakeList.txt 是:

项目(设置解析器)

设置(CMAKE_LIBRARY_OUTPUT_DIRECTORY ../lib)

add_library(${PROJECT_NAME} SHARED settingParser.cpp )

target_link_libraries(${PROJECT_NAME} jsoncpp)

AND ERROR is: 81%] Linking CXX shared library ../lib/libsettingParser.so /usr/bin/ld: /home/github/wd/littletools/3rdparty/lib/json/libjsoncpp.a(json_value.cpp.o ):警告:针对_ZN4Json10LogicErrorD1Ev' in read-only section .text.unlikely'/usr/bin/ld:/home/github/wd/littletools/3rdparty/lib/json/libjsoncpp.a(json_reader.cpp.o)的重定位:针对符号`_ZTVN4Json17CharReaderBuilderE的重定位R_X86_64_PC32 ' 制作共享对象时不能使用;使用 -fPIC /usr/bin/ld 重新编译:最终链接失败:错误值 collect2:错误:ld 返回 1 退出状态 gmake[3]: *** [settingParser/CMakeFiles/settingParser.dir/build.make:103: lib /libsettingParser.so] 错误 1 ​​gmake 2:*** [CMakeFiles/Makefile2:410: settingParser/CMakeFiles/settingParser.dir/all] 错误 2 gmake 1: *** [CMakeFiles/Makefile2:254: CMakeFiles/trimule.dir/rule] 错误 2 gmake: *** [Makefile:137: trimule] 错误 2 mv: cannot stat '/home/github/wd/littletools/build /trimule': 没有这样的文件或目录 make[3]: *** [CMakeFiles/trimule_copyfile.dir/build.make:78: CMakeFiles/trimule_copyfile] 错误 1 ​​make 2 : *** [CMakeFiles/Makefile2:302: CMakeFiles /trimule_copyfile./all] 错误 2 make 1 : *** [CMakeFiles/Makefile2:309: CMakeFiles/trimule_copyfile.dir/rule] 错误 2 make: *** [Makefile:163: trimule_copyfile] 错误 2 终端进程“sh '-c', 'cmake -DCMAKE_BUILD_TYPE=Debug ..; cmake --build 。--目标三毛-j 4;make trimule_copyfile'”已终止,退出代码:2。

特别声明:以上内容(图片及文字)均为互联网收集或者用户上传发布,本站仅提供信息存储服务!如有侵权或有涉及法律问题请联系我们。
举报
评论区(0)
按点赞数排序
用户头像