我要求这个来验证我的代码是否正确实现。如果是,那么这很可能意味着我的库链接在某些时候不正确,从而缩小了问题的范围。尝试使用以下命令构建测试时出现以下错误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
假设我想构建可执行文件“exec1”并对其进行测试。理想情况下,这是通过将可执行文件标记到目标并运行来完成的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
)
我想使用${CMAKE_SOURCE_DIR}/vlMain/vlMPIMain.cpp
源代码构建一个名为“exec1”的可执行文件,并将其放入${CMAKE_BINARY_DIR}/Tests/exec1
然后我想将几个库链接到它。
我的实现是否正确?可以改进吗?
谢谢。