我正在尝试为我正在处理的库执行CMake文件。 “项目”非常简单:2个类,以及Boost库的使用。
我用这种方式完成了CMakeLists:
project("TFTP Server")
cmake_minimum_required(VERSION 2.8)
set(Boost_DEFAULT_VERSION 1.53)
set(Boost_COMPONENTS "system")
include(FindBoostHelper.cmake)
include_directories(${INCLUDE_DIRECTORIES} ${Boost_INCLUDE_DIRS})
add_library(
bin/tftp_server
SHARED
src/tftp_server.cpp
)
# set up the main project
set(tftp_server_SOURCES
${tftp_server_SOURCES}
src/tftp_server.h
src/tftp_server.cpp
src/tftp_connection.h
src/tftp_connection.cpp
)
它找到了Boost库,然后我得到了:
> cmake .. -G "Xcode"
-- Boost version: 1.53.0
-- Found the following Boost libraries:
-- system
-- Found boost in /usr/local/include/boost-1_53, using libraries /usr/local/lib/libboost_system-clang-darwin42-mt-1_53.a
-- Configuring done
-- Generating done
CMake Error:
Error evaluating generator expression:
$<TARGET_FILE:bin/tftp_server>
Expression syntax not recognized.
CMake Error:
Error evaluating generator expression:
$<TARGET_SONAME_FILE:bin/tftp_server>
Expression syntax not recognized.
CMake Error:
Error evaluating generator expression:
$<TARGET_LINKER_FILE:bin/tftp_server>
Expression syntax not recognized.
CMake Error:
Error evaluating generator expression:
$<TARGET_FILE:bin/tftp_server>
Expression syntax not recognized.
CMake Error:
Error evaluating generator expression:
$<TARGET_SONAME_FILE:bin/tftp_server>
Expression syntax not recognized.
CMake Error:
Error evaluating generator expression:
$<TARGET_LINKER_FILE:bin/tftp_server>
Expression syntax not recognized.
CMake Error:
Error evaluating generator expression:
$<TARGET_FILE:bin/tftp_server>
Expression syntax not recognized.
CMake Error:
Error evaluating generator expression:
$<TARGET_SONAME_FILE:bin/tftp_server>
Expression syntax not recognized.
CMake Error:
Error evaluating generator expression:
$<TARGET_LINKER_FILE:bin/tftp_server>
Expression syntax not recognized.
CMake Error:
Error evaluating generator expression:
$<TARGET_FILE:bin/tftp_server>
Expression syntax not recognized.
CMake Error:
Error evaluating generator expression:
$<TARGET_SONAME_FILE:bin/tftp_server>
Expression syntax not recognized.
CMake Error:
Error evaluating generator expression:
$<TARGET_LINKER_FILE:bin/tftp_server>
Expression syntax not recognized.
没有“SHARE”选项,它会构建项目(但我没有任何库目标)。
对我做错了什么的想法? 我在OSX下使用CMake 2.8.12.2并尝试构建一个xcode项目。
谢谢!
答案 0 :(得分:1)
name
参数add_library用于创建共享库的名称
对应于逻辑目标名称,并且在项目中必须是全局唯一的。构建的库的实际文件名是基于本机平台的约定(例如lib.a或.lib)构建的。
因此它不应包含字符/