微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

移植到Linux错误:“:”令牌之前的预期初始化程序

好吧,我有一堂课

class DLL_LIB a: public b { }

海湾合作委员会说

预期的初始值设定项在':'标记之前

我不明白为什么。 也许这是连接DLL库的proplem,但我这样做:

32位Windows和2GB文件大小限制(C与fseek和ftell)

在Gitlab的实例之间迁移回购

在dmake中的shell命令添加“/ S”

从Windows API迁移到Mac OS

将应用程序从Solaris移植到Linux

#ifdef _WIN32 #define DLL_LIB __declspec(dllexport) #else #define DLL_LIB __declspec(dllimport) #endif

虽然我做了假的DLL库,我不能避免与“预期的初始化”

万分感谢!

将PCIe驱动程序从Linux移植到FreeBSD

什么是Linux相当于LPTSTR和LPCSTR?

如何编译C程序?

QueryPerformanceCounter Linux等效

澄清:移植32到64位

你的DLL_LIB定义是错误的。 它应该是这样的:

#ifdef _WIN32 #ifdef BUILDING_DLL_LIB #define DLL_LIB __declspec(dllexport) #else #define DLL_LIB __declspec(dllimport) #endif #else #define DLL_LIB #endif

这个练习的目的如下:

在Windows上,需要区分“从此DLL中导出的符号”(由__declspec(dllexport)表示并且在生成DLL时必须存在)和“从DLL导入符号”(由__declspec(dllimport)并且在链接DLL的程序中包含头文件时必须存在)。

在Linux上,没有这样的事情,所以宏必须由预处理器从头中删除 – 因此将其定义为空。

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐