0
我正在用C++编写一段代码。程序应该从CSV文件读取数据,然后进行一些处理,然后将其写入另一个CSV输出文件。我的程序读取文件中的正确当我编译:使用CPP从CSV文件中读取,用CMake文件编译代码
make version1.cc
然而,当我试图用我的CMakeLists.txt编译它,它甚至没有去寻找文件。我想这thusfar,没有成功:
add_custom_command(
OUTPUT Output.csv
COMMAND version1 ${CMAKE_CURRENT_SOURCE_DIR}/Input.csv ${CMAKE_CURRENT_BINARY_DIR}/Output.csv
DEPENDS version1 ${CMAKE_CURRENT_SOURCE_DIR}/Input.csv
)
add_executable(version1 version1.cc Output.csv)
我也曾尝试以下,仍然没有运气:
INCLUDE_DIRECTORIES(
${CMAKE_CURRENT_SOURCE_DIR}
${CMAKE_CURRENT_BINARY_DIR}
)
SET(MY_CSV_PATH "${CMAKE_CURRENT_SOURCE_DIR}/House1-July-Complete.csv")
CONFIGURE_FILE(${CMAKE_CURRENT_SOURCE_DIR}/version1.cc ${CMAKE_CURRENT_BINARY_DIR}/version1.cc @ONLY)
我从你的CMakeLists.txt中看到:你的目标'version1'取决于'Output.csv',它本身取决于'version1'。听起来像循环依赖于我。也许你应该使用add_custom_command(TARGET t target POST_BUILD ...)见http://www.cmake.org/cmake/help/v3.0/command/add_custom_command.html – 2014-10-31 09:41:47
只是一个想法,像这样的程序可能如果你在运行时设置路径(通过命令行参数等),比编译时使用cmake更有用。如果你想有一天移动文件怎么办? – 2014-11-01 12:10:59