【发布时间】:2010-12-02 22:10:16
【问题描述】:
我正在处理一个巨大的旧 C 程序并将其转换为 C++(我是新手)。
由于程序必须在许多不同的平台上以许多不同的配置运行。
在一个文件中(称为file1.c)我正在调用 functionA()。
在另一个文件中(称为file2.c)我有一个functionA() 的定义。
不幸的是,函数的确切类型是由一组以令人眼花缭乱的方式创建的宏指定的。
现在链接器抱怨:
functionA 是一个未解析的外部符号。
我怀疑问题在于file1.c中看到的原型与file2.c中看到的函数的真实定义略有不同。
由于_cdecl 和fastcall 之间的不匹配,以及有和没有__forceinline 之间的不匹配,存在很大的细微差异。
有什么方法可以准确地显示编译器认为functionA() 的类型是file1.c 而不是file2.c?
【问题讨论】:
标签: c++ visual-studio-2008 linker c-preprocessor porting