我正在做一个小项目,试图让 Source Engine 2013 代码在 Qt Creator IDE 下工作。我的最终目标是把它变成一个 CMake 项目来抛弃 Valve 有限的 VPC 系统,虽然我还不知道它是如何工作的,所以我正在采取简单的步骤。
我习惯在MSVC++ 2013编译器下编译,所以我用的就是这个,最后遇到了这个问题,不知道怎么处理。我首先要做的是,如果它不能在预期的编译器下正确编译,我显然做错了,我不应该修改代码。
Valve 有这个 memoverride.cpp 它有一个 char *__cdecl _strdup( const char *string ),如果我把它注释掉,代码编译得很好,所以这是我要处理的最后一个问题。
从这个函数“覆盖”我得到以下两个错误:
C2084:函数 'char MemAlloc_StrDup(const char ) 已经有一个主体
C2732:链接规范与“MemAlloc_StrDup”的早期规范相矛盾
有人知道任何必要的编译器选项,应该排除的一些默认库,或者我应该用来解决这个问题的预处理器定义吗?我尝试在 Visual Studio 中编译代码,并禁用了抑制的启动横幅,以便我可以看到它传递的所有选项,但我尝试了所有选项,但似乎没有任何区别。
那么有人有什么想法吗?
任何信息将不胜感激,谢谢!