CMAKE将新项目添加到解决方案中
Cmake Add new project to solution
我在cmake中是全新的,所以请对不起,如果问这个低问题,但找不到Google上的答案。
我正在尝试在Ogre3D SDK顶部创建一个空项目。我用CMAKE和VS2015构建了一个OGRE3D源,现在我想在Ogre Libs和Headers上创建我的项目。因此在这里解释我创建一个cmakelists.txt文件,然后将这些行添加到其中:
# specify which version you need
find_package(OGRE 1.10 REQUIRED)
project(OG1)
# the search paths
include_directories(${OGRE_INCLUDE_DIRS})
link_directories(${OGRE_LIBRARY_DIRS})
# copy essential config files next to our binary where OGRE autodiscovers them
file(COPY ${OGRE_CONFIG_DIR}/plugins.cfg ${OGRE_CONFIG_DIR}/resources.cfg
DESTINATION ${CMAKE_BINARY_DIR})
一切都可以,并且成功地创建cmake文件并使用cmake-gui 生成.sln,但是我希望cmake用名称og1创建一个空的项目,然后我可以运行我的第一个Ogre helloword,但它会生成一个仅包含all_build和Zero_check的.sln文件。我如何创建一个具有所有配置的干净项目,并且准备仅用于使用食人魔类(我的意思是它会自动配置链接,包括等)?
cmake术语与Visual Studio的术语略有不同。
特别是,每个CMAKE project
将创建一个Visual Studio解决方案(.sln
文件),而该CMake Project的所有CMAKE目标都将在相应的解决方案中以Visual Studio项目的形式出现。
CMake Visual Studio
project <-> Solution (.sln)
Target <-> Project (.vcxproj)
因此,您的项目显然缺少目标。在您的情况下,您可能需要使用add_executable
添加的可执行目标。可执行文件可以与项目具有相同的名称。请注意,可执行文件在CMAKE中不能完全空。尽管在Visual Studio中存在一个空可执行项目的概念,但它在其他构建系统中无效,因此CMake也不能支持它。因此,您需要在此处指定至少一个源文件:
add_executable(og1 og1.cpp)
将其安装到位,您也可以将剩余的构建选项附加到目标上。此步骤是可选的,因为您的代码也可以在这里工作,但在现代CMake中被认为是好的风格:
target_include_directories(og1 PUBLIC ${OGRE_INCLUDE_DIRS})
target_link_libraries(og1 PUBLIC ${OGRE_LIBRARIES})
请注意,在CMake中,我们不愿使用库目录来告诉库的位置的构建系统,而是始终使用库文件的完整路径。
- 运行同一解决方案的另一个项目的项目
- Project Euler问题4的错误解决方案
- 计算每个节点的树高,帮助我解释这个代码解决方案
- C++:Application.cpp中抛出了未解析的外部符号(解决方案在问题的末尾,供未来的读者参考)
- visual c++,如何获取解决方案目录中的代码
- 有没有办法在远程设备上打开和编辑visual Studio 2017解决方案
- C++Matching Brackets 2解决方案不起作用
- 在 ubuntu3 上C++ goto 定义有什么解决方案吗16.04?
- 在 leetcode 上提交解决方案时出现堆栈缓冲区溢出错误
- 将单元测试添加到旧解决方案时出现链接错误
- 将CMAKE项目添加到Visual Studio解决方案中
- CMAKE将新项目添加到解决方案中
- 是否可以在Visual Studio中将文件添加到CMake生成的解决方案文件夹中
- Visual Studio c ++将文件副本添加到解决方案中
- 如何将CMake包含和库添加到Visual Studio解决方案中
- c++访问当前解决方案添加约束
- 如何将宏命令添加到解决方案或项目中存在的所有文件中
- 在大解决方案中向类添加成员时发生堆栈溢出错误
- 使用ENVDTE时的Java脚本-将新项目添加到现有解决方案中,并将其定位在特定的子文件夹中
- 在cmake目标的解决方案资源管理器中添加一些源文件的头依赖项