我要求此验证我的代码是否正确实现。如果是,那么这很可能意味着我的图书馆链接在某些时候是不正确的,这缩小了问题。我在尝试使用make t1
构建测试时遇到以下错误:
make[3]: *** No rule to make target `/home/esias/VL3/modular2/vlMain/test', needed by `vlMain/CMakeFiles/t1'. Stop.
make[2]: *** [vlMain/CMakeFiles/t1.dir/all] Error 2
make[1]: *** [vlMain/CMakeFiles/t1.dir/rule] Error 2
假设我想构建可执行文件&#34; exec1&#34;并测试它。理想情况下,这是通过将可执行文件标记到目标并运行make <target>
来完成的 - 如果我错了,请纠正我。
据我所知,这是通过在add_test上使用--build-and-test参数完成的。这是我正在使用的代码:
ADD_TEST(test1 exec1
--build-two-config
--build-and-test
"${CMAKE_SOURCE_DIR}/vlMain/vlMPIMain.cpp" #source to create from?
"${CMAKE_BINARY_DIR}/Tests/exec1" #output folder?
)
add_custom_target(t1 COMMAND ${CMAKE_CTEST_COMMAND} DEPENDS test1)
TARGET_LINK_LIBRARIES(t1
${GLEW_LIBRARY}
vlapp
vlrender
vldm
)
我想构建一个名为&#34; exec1&#34;的可执行文件。使用${CMAKE_SOURCE_DIR}/vlMain/vlMPIMain.cpp
作为源代码,并将其放入${CMAKE_BINARY_DIR}/Tests/exec1
然后我想将几个库链接到它。
我的实施是否正确?可以改进吗?
感谢。