问一下关于C++编译的问题
各位小伙伴,各位大佬,大家好。我想请教一个问题:
我因为特殊原因,需要编译一个C++写的程序。
我花了2天,看了一下相关的资料。
现在遇到了一些问题,实在是解决不了,恳请大家帮帮我。
我这几天学的就是BOOST,CMAKE,VS STUDIO。我也知道还有别的方式可以编译,但是我暂时只能用这个三件套。
b2.exe stage --toolset=msvc-14.16.27023 --stagedir=".\stage\vc143_x64" link=static runtime-link=static threading=multi variant=release address-model=64我用的是这个命令编译。我程序那边,对方还不如我懂,所以我不准备用动态库。
第一点,我现在编译BOOST库的时候,经常提示我
Unknown compiler version - please run the configure tests and report the results
1--我知道,这个东西和VS是有版本匹配的。但是这个匹配说明,到底是BOOST官网有,还是微软的VS网页有?这个错误信息耽误我编译库吗?
.\boost/spirit/home/support/char_encoding/iso8859_1.hpp: warning C4819: 该文件包含不能在当前代码页(936)中表示的字符。请 将该文件保存为 Unicode 格式以防止数据丢失
2--偶尔也有上面这个提示,他提示的这个文件保存为UNICODE码,每一个这个提示的文件,我都必须去从新保存一次?
我因为这个问题,现在弄了一个VM虚拟机,装的是英文系统,我这个思路方向对么?
3--我用CMAKE编译的时候,需要调用BOOST库,还是那个问题,这个BOOST库的版本,和CMAKE到底匹配还是不匹配,去哪里看?难道我必须等CMAKE提示我错误,我才知道版本不匹配?
4--最后问下VS的问题。现在VS最新版是2002。那么,假如我这个程序,必须使用老版本,我在老版本下载的界面里,已经看不到社区版了,都是加强版和企业版,那这个使用上有时间限制么?
同时,VS2022版本,VC++那个编译需要用到的程序,MSVC 确实有老版本的,那么,如果我下载VS SUDIO 2022,在BOOST调用的时候,使用老版本的MSVC,可行么?
建议放悬赏区 VS我不懂,不过PLC高低版本之间是不通用。 vs的老版本可以去msdn i tell you里面下载,另外vs的企业版和专业版是可以直接激活的(可能有法律风险) 1. 这是警告不影响编译;
2. 如果是VS里可以设置多字节符编码,和系统语言应该关系不大,和你cpp文件编码有关;
3. 可以百度: boost库版本与cmake版本对应关系:Boost 1.63 requires CMake 3.7 or newer. Boost 1.64 requires CMake 3.8 or newer. Boost 1.65 and 1.65.1 require CMake 3.9.3 or newer. Boost 1.66 requires CMake 3.11 or newer. Boost 1.67 requires CMake 3.12 or newer. Boost 1.68, 1.69 require CMake 3.13 or newer...
4. 可以安装多个版本的MSVC,cmake可以选择编译的tool kit 版本 yyt6801 发表于 2023-1-31 15:20
1. 这是警告不影响编译;
2. 如果是VS里可以设置多字节符编码,和系统语言应该关系不大,和你cpp文件编码 ...
谢谢您的耐心回答。非常感谢。
我这属于赶鸭子上架,又推不掉。
有了你的指导,方向我有了,剩下的啃骨头,至少心里有底。
十分感谢。
页:
[1]