私は別のライブラリirRNGに依存するライブラリirWGNを持っています。奇妙なエラー: `class :: class() 'への未定義の参照
私のCMakeFiles.txtは以下の通りです。一つはSRC /信号である
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)
Amが取得このエラー
./devel/lib/libirWGN.so: undefined reference to `irRNG::irRNG()'
../devel/lib/libirWGN.so: undefined reference to `irRNG::~irRNG()'
奇妙なことは、私はどんなことなく、Ubuntuの12.04でこれを使用していたということです問題。今はこの問題が現れるだけです。
なぜダウン投票? – Courier
あなたは 'target_link_libraries()'を覚えましたか? –
'add_library(irRNG irRNG)'の代わりに 'add_library(irRNG irRNG.cpp)'についてどうですか?そうであれば、CMakeがあなたが使っていたラインから理解していることは興味深いかもしれません。 – Antonio