通过cmake新建一个osg的工程
1.新建一个CMakeLists.txt文件,内容如下:
cmake_policy(VERSION 3.9)
cmake_minimum_required(VERSION 3.14)
######################################################OSG用到的头文件,在此加载include##################################################
include_directories("G:/YCThirdParty/Osg/include")
########################################################osg用到的.lib所在的文件夹##################################################
link_directories("G:/YCThirdParty/Osg/lib")
set(SOURCES
main.cpp
)
LINK_DIRECTORIES("G:/YCThirdParty/Osg/bin")
add_executable(${PROJECT_NAME} ${SOURCES} ${DIR_SRCS})
########################################################OSG用到的.lib##################################################
target_link_libraries(${PROJECT_NAME} OpenThreadsd.lib osgAnimationd.lib osgd.lib osgEarthAnnotationd.lib osgEarthd.lib osgEarthFeaturesd.lib osgEarthSplatd.lib osgEarthSymbologyd.lib osgEarthUtild.lib osgFXd.lib osgGAd.lib osgManipulatord.lib osgParticled.lib osgPresentationd.lib osgShadowd.lib osgSimd.lib osgTerraind.lib osgTextd.lib osgUId.lib osgUtild.lib osgViewerd.lib osgVolumed.lib osgWidgetd.lib )
2.在cmakelist同级目录下,新建main.cpp
即,与cmakelist中说明的.cpp
运行cmake,其中,红色和蓝色分别为cmakelist所在目录的文件夹路径(不是文件路径),以及生成的项目的文件夹路径;
先点击config...,出现如图,在点击generate...
选择confi...后弹出让选择版本的对话框,这个需要根据个人电脑做安装的系统、vs的版本、osg的版本等确认
没有给main中写内容时,报错如下:
3.在main中添加内容:
在main中写入以下内容:
#include <vector>
#include <iostream>
#include <fstream>
#include <cstring>
#include <time.h>
#include <Windows.h>
void main()
{
std::cout << "123";
int a = 14;//此处打断点
}
4.输出结果
5.添加其他头文件等
报错:原因是某个文件,只添加了.h,而没有添加对应的.cpp
6.顺利通过编译
7.注意
如果在编译工程重新修改了cmake里面的内容,系统会自动刷新和编译cmake,因此会导致失眠添加的.h和.cpp不存在,需要手动再次添加。原因是,也将要添加的东西写入到cmake里,那样就可以避免自动消失的情况发生