平台 vs 2017 64位
说明
a> 配置属性\常规\输出目录 设置为 $(SolutionDir)\$(Configuration)\
b> 配置属性\连接器\所有选项\导入库 设置为 $(SolutionDir)\lib\$(Configuration)\$(TargetName).lib
c> 配置属性\生成事件\生成后事件 设置为
if exist $(SolutionDir)\include\$(TargetName)\*.h del /Q /S $(SolutionDir)\include\$(TargetName)\*.h
xcopy /e /y /d "*.h" $(SolutionDir)\include\$(TargetName)\
if exist $(SolutionDir)\include\$(TargetName)\*.inc del /Q /S $(SolutionDir)\include\$(TargetName)\*.inc
xcopy /e /y /d "*.inc" $(SolutionDir)\include\$(TargetName)\
if exist $(SolutionDir)\include\$(TargetName)\*.hpp del /Q /S $(SolutionDir)\include\$(TargetName)\*.hpp
xcopy /e /y /d "*.hpp" $(SolutionDir)\include\$(TargetName)\
d> Qt VS Tools插件把 qt options 对话框内的 name 设置为 qt_5_10_1,
e> 配置属性\c/c+\语言\C++标准语言设置为 c++17
f> 以impl结尾的宏定义,要放在CPP内,而不是头文件
g> cereal如果报错,需要定义
#ifndef _SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING
#define _SILENCE_CXX17_ITERATOR_BASE_CLASS_DEPRECATION_WARNING
#endif
#ifndef _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS
#define _SILENCE_ALL_CXX17_DEPRECATION_WARNINGS
#endif
h> 接口类前面加I, 模板类前面加T,类名和文件名保持一致
i> BridgeModeling 调试/环境 设置为
PATH=$(QTDIR)\bin%3b$(SolutionDir)3rd\bin\$(Configuration)\%3b$(SolutionDir)3rd\bin\$(Configuration)\occ\%3b$(PATH)
这样就不用把DLL copy到exe目录了。
j> inc文件一般只会被对应的CPP包含一次,而且要放在include最下面。
使用预编译头的,stdafx.h 放在最上面,然后是当前cpp文件对应的头文件,其余的按字母顺序包含
k> 中文乱码时,包含 #pragma execution_character_set("utf-8"),一般把它包含到stdafx.h内
l> 调试/命令 DLL工程启动EXE $(SolutionDir)$(Configuration)\BridgeModeling.exe
m> python 如果链接不过, 定义Py_NO_ENABLE_SHARED
n> 配置clang-format 工具->外部工具 标题 clang-format, 命令 C:\Program Files\LLVM\bin\clang-format.exe, 参数 -i $(ItemPath)
第三方库
1> osg 3.4.0.130
2> qt 5.10.1
3> cereal-1.2.2
4> glog 0.3.5
5> geos 3.5.1(gis用)
6> osg earth2.8
7> opencascade-7.3.0
8> python 2.7.14
9> VLD 2.5.1.0
10> FMT 5.2.1 https://github.com/fmtlib/fmt
11> QCodeEditor 脚本编辑器对话框 https://github.com/v7a/QCodeEditor
编码笔记
最新推荐文章于 2024-07-26 14:16:36 发布