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