c++ 预编译头来自早期版本的编译器

6yt4nkrj  于 2022-12-15  发布在  其他
关注(0)|答案(2)|浏览(198)

如何在大型C代码库中使用c库?
我发现了一些不错的c library,因为c和c
是兼容的,这对我来说太棒了。我有很多项目的代码库,我想在其中一个项目中使用这个库。
所以我在C盘上建了一个库,然后我把它放在我想使用它的项目所在的文件夹中,修改了项目属性中的引用以指向那个库等等。
之后,我从我的send. c文件中的一个cpp文件函数调用,其中包括一些库文件,并在构建过程中出错

Precompiled header is from previous version of compiler

所以我想问:
1.我应该单独构建库还是像我一样这样做可以吗?
1.我应该如何修复这些错误?(我尝试从.c更改为.cpp,但库比有许多错误)
1.我应该把库放在哪里?有什么好的约定吗?因为现在它只是粘贴在项目旁边
1.如果可以,以前的编译怎么会对新版本有影响呢?!难道它不会再次预编译吗?
1.在这么大的代码库中,我没有看到很多像这样独立的库。我能把它变成一个.lib文件,然后导入它就可以更容易地使用它吗?因为我不会改变它,它将一直只用于消息发送。像这样,在每个将来可能会使用它的项目中,都有一大堆东西需要配置
谢谢!

**注意1:**我在Windows Server 2012 R2上使用的是Visual Studio 2015。

wnvonmuf

wnvonmuf1#

通过以下步骤修复此问题:
1.已关闭预编译头
1.已删除.pch文件
由于这不是修复错误,我做了一些事情:
1.将send.c的扩展名更改为send.cpp
1.属性-〉C/C++-〉高级-〉编译为C代码(/TC)
1.属性-〉常规-〉字符集更改为使用多字节字符集
而这修复了我的问题:)

agxfikkp

agxfikkp2#

在projects debug文件夹中找到.pch文件。删除或重命名该文件。现在您应该能够编译您的C++项目了。

相关问题