gpt4 book ai didi

c++ - 奇怪的错误: undefined reference to `class::class()'

转载 作者:行者123 更新时间:2023-12-02 11:12:41 24 4
gpt4 key购买 nike

我有一个依赖于另一个库irRNG的库irWGN。

我的CMakeFiles.txt文件如下。一个是src/signals是

add_library(irRNG irRNG.cpp)
add_library(irWGN irWGN.cpp)

和主要的CMakeFile
include_directories(${SRC}/signals)
SET(MY_LIB
${MY_LIB}
irRNG
irWGN
)
....

foreach(file2link ${FILES_to_RUN})

target_link_libraries(${file2link}
${catkin_LIBRARIES}
${Boost_LIBRARIES}
${gsl_LIBRARIES}
${OpenCV_LIBRARIES}
${MY_LIB}
)
add_dependencies(${file2link} project_generate_messages_cpp)
endforeach(file2link)

正在收到此错误
./devel/lib/libirWGN.so: undefined reference to `irRNG::irRNG()'
../devel/lib/libirWGN.so: undefined reference to `irRNG::~irRNG()'

奇怪的是,我在ubuntu 12.04上使用了它,没有任何问题。只是现在这个问题出现了。

最佳答案

由于问题是您的irWGN取决于您的irRNG,因此解决问题的最简便方法是添加:

target_link_libraries(irWGN irRNG)

在库之间创建相互依赖性。它也适用于静态库!因此,如果您尝试将可执行文件链接到irWGN,则cmake还将自动以正确的顺序链接到irRNG。

关于c++ - 奇怪的错误: undefined reference to `class::class()' ,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37538967/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com