我正在构建一个 DLL 来包装要从 matlab 调用的 C/C++ 库。
我正在使用标准__declspec(dllexport)
来导出函数。具体来说,我有几个 .h 文件,其代码基本上如下所示:
#ifdef __cplusplus
extern "C" {
#endif
#ifdef _MSC_VER
__declspec(dllexport)
#endif
void FOO();
#ifdef __cplusplus
}
#endif
然后,我有一个lib.h
文件,它只包含所有这些.h
文件。
#include "foo.h"
#include "bar.h"
我的项目配置是这样的,它确实构建了一个 DLL,但神秘的是它BAR()
在 DLL 中(由 验证dumpbin
)但FOO
不是。
关于这怎么可能是这样的任何想法?