我需要帮助将 vcxproj 转换为 cmake
I need help to convert vcxproj to cmake
有Visual Studio 2015项目。我需要为 Debian 编译它。我正在尝试使用 vcxproj2cmake 将其转换为 makefile。首先,我想在Windows上编译它。
perl vcxproj2cmake.pl project1.vcxproj "Debug|Win32"
生成的文件
cmake_minimum_required(VERSION 2.8)
## section: Macro
MACRO(ADD_MSVC_PRECOMPILED_HEADER PrecompiledHeader PrecompiledSource SourcesVar)
IF(MSVC)
GET_FILENAME_COMPONENT(PrecompiledBasename ${PrecompiledHeader} NAME_WE)
SET(PrecompiledBinary "${CMAKE_CURRENT_BINARY_DIR}/${PrecompiledBasename}.pch")
SET(Sources ${${SourcesVar}})
SET_SOURCE_FILES_PROPERTIES(${PrecompiledSource}
PROPERTIES COMPILE_FLAGS "/Yc"${PrecompiledHeader}" /Fp"${PrecompiledBinary}""
OBJECT_OUTPUTS "${PrecompiledBinary}")
SET_SOURCE_FILES_PROPERTIES(${Sources}
PROPERTIES COMPILE_FLAGS "/Yu"${PrecompiledBinary}" /FI"${PrecompiledBinary}" /Fp"${PrecompiledBinary}""
OBJECT_DEPENDS "${PrecompiledBinary}")
# Add precompiled header to SourcesVar
LIST(APPEND ${SourcesVar} ${PrecompiledSource})
ENDIF(MSVC)
ENDMACRO(ADD_MSVC_PRECOMPILED_HEADER)
## start setting
SET (this_target project1)
PROJECT(${this_target})
## section: include directory
INCLUDE_DIRECTORIES(
$(BOOST_INCLUDE)
$(OPENSSL)/include
$(ZLIB_INCLUDE)
./..
)
## section: source files
# Add your source files here (one file per line), please SORT in alphabetical order for future maintenance
SET (${this_target}_SOURCE_FILES
# ...
)
## section: header files
# Add your header files here(one file per line), please SORT in alphabetical order for future maintenance!
SET(${this_target}_HEADER_FILES
# ...
)
## section: precompiled header
#ADD_MSVC_PRECOMPILED_HEADER("precompiled.h" "precompiled.cpp" MySources)
#ADD_LIBRARY(MyLibrary ${MySources})
SET_SOURCE_FILES_PROPERTIES(${this_target}_HEADER_FILES
PROPERTIES HEADER_FILE_ONLY TRUE)
LIST(APPEND ${this_target}_SOURCE_FILES ${${this_target}_HEADER_FILES})
## section: add definitions
# add prefix -D. example> -DSHP
# - DO NOT add the following definitions(already defined in ${OSP_DEFINITIONS}:
# -DSHP, -DWIN32, -D_WINDOWS, -D_DEBUG, -D_USRDLL, -D_CRT_SECURE_NO_DEPRECATE
ADD_DEFINITIONS(
-D_CONSOLE
-DWIN32
-D_PROJECT_1
-DNDEBUG
)
## section: add target
ADD_EXECUTABLE(${this_target} ${${this_target}_SOURCE_FILES})
## section: add dependency
# dependency determines overall build order.
ADD_DEPENDENCIES(${this_target}
ws2_32.lib
zdll.lib
$(BOOST_LIB)/libboost_serialization-vc140-mt-1_61.lib
$(OPENSSL)/lib/libeay32.lib
$(OPENSSL)/lib/ssleay32.lib
)
## section: set link libraries
TARGET_LINK_LIBRARIES( ${this_target}
ws2_32.lib
zdll.lib
$(BOOST_LIB)/libboost_serialization-vc140-mt-1_61.lib
$(OPENSSL)/lib/libeay32.lib
$(OPENSSL)/lib/ssleay32.lib
)
将此文件重命名为 Makefile1 并输入 make -f Makefile-1
后我得到
Makefile.1:1:*** 缺少分隔符。 停。
我必须做什么?
make != CMake
CMake 是一个生成系统,用于为其他生成系统(如 make
或 VS 项目)生成代码。您使用的工具会发出 CMake 代码,该代码必须由 CMake 解释。若要生成项目(假设该工具成功),可以先使用make
生成器运行 CMake,然后在生成的生成文件上运行make
。
相关文章:
- 如何创建一个CMake变量,除非显式重写,否则使用默认值
- 防止主数据类型C++的隐式转换
- 使用C++库在Android项目中修改gradle中的cmake参数,用于插入指令的测试
- 模板参数替换失败,并且未完成隐式转换
- 努力将整数转换为链表。不知道我在这里做错了什么
- HEX值到wchar_t字符(UTF-8)的转换
- 将 cmake 代码段转换为函数 - 不起作用
- C++:禁用 CMake 中的旧样式转换警告
- 将QMAKE项目转换为CMAKE
- 将 qmake 转换为 cmake 时出现链接错误
- 将GCC命令转换为Android NDK的CMAKE
- 如何使用Cmake为SimuroSot模拟器构建(从DevCpp转换)Win32 DLL
- qmake 到 cmake 转换和链接错误
- 我需要帮助将 vcxproj 转换为 cmake
- 如何将.ino Arduino项目转换为CMake
- 将项目转换为 qt5 并将未定义的引用转换为 'vtable for qt5 和 cmake
- 如何将cmake项目转换为Visual Studio等效项
- 将 Makefile 项目转换为 Cmake
- 将makefile转换为cmake
- 静态库-如何导入'.在c++中把一个'文件转换成CMake