私はCMakeklist.txtファイルをWindows上に作成しようとしていますが、大きな問題があります。CMake:Visual Studioのライブラリをリンク
私は問題がadd_library(traffic UNKNOWN IMPORTED)
ですが、私はadd_library(traffic SHARED IMPORTED)
に変更した場合、私は
LNK1107 invalid or corrupt file: cannot read at 0x2D8
を得たCMakeのが発生するプロジェクトを実行
cmake_minimum_required(VERSION 3.1.2)
project(c_api)
set(INC_PATH target/release/deps)
set(PROJECT_DLL traffic.dll)
set(PROJECT_LIB traffic.dll.lib)
configure_file(${INC_PATH}/${PROJECT_DLL} ${CMAKE_CURRENT_BINARY_DIR} COPYONLY)
include_directories(${INC_PATH}/include)
add_library(traffic UNKNOWN IMPORTED)
set_property(TARGET traffic PROPERTY IMPORTED_LOCATION ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_DLL})
set_property(TARGET traffic PROPERTY IMPORTED_IMPLIB ${CMAKE_CURRENT_BINARY_DIR}/${PROJECT_LIB})
file(GLOB SOURCES "c_api/examples/ai_module/*.c")
add_executable(ai_module
${SOURCES}
)
target_link_libraries(ai_module traffic)
を書きました
LNK2019 unresolved external symbol _traffic_import_osm referenced in function _main ai_module
ですから、Visual Studioではライブラリが表示されません。
私はこのコードをlinux上で実行しています。私はのフォーマットを.so
に変更しても問題ありません。
イムdocumentation of your first errorによるとCMakeの