当前位置: 技术问答>linux和unix
一个windows下的C++工程,在linux下编译出错了
来源: 互联网 发布时间:2016-12-15
本文导语: /usr/include/oaidl.h:416:1: 错误:毗连“/”和“/”不能给出一个有效的预处理标识符 TCC/../Common/../TCC/types.h:39:7: 警告:文件未以空白行结束 /usr/include/winnt.h:403: 错误:‘ULONGLONG’ 没有命名一个类型 /usr/include/windef.h:189:...
/usr/include/oaidl.h:416:1: 错误:毗连“/”和“/”不能给出一个有效的预处理标识符
TCC/../Common/../TCC/types.h:39:7: 警告:文件未以空白行结束
/usr/include/winnt.h:403: 错误:‘ULONGLONG’ 没有命名一个类型
/usr/include/windef.h:189: 错误:‘LONG_PTR’ 没有命名一个类型
/usr/include/winuser.h:681: 错误:‘LPARAM’ 未声明
/usr/include/winuser.h:696: 错误:‘LRESULT’ 没有命名一个类型
TCC/../Common/../TCC/types.h:39:7: 警告:文件未以空白行结束
/usr/include/winnt.h:403: 错误:‘ULONGLONG’ 没有命名一个类型
/usr/include/windef.h:189: 错误:‘LONG_PTR’ 没有命名一个类型
/usr/include/winuser.h:681: 错误:‘LPARAM’ 未声明
/usr/include/winuser.h:696: 错误:‘LRESULT’ 没有命名一个类型
|
这个程序基本可以断定很难移值到linux上。
winnt.h
winuser.h
使用了这些头文件,说明这应该是一个彻头彻尾的Windows程序
winnt.h
winuser.h
使用了这些头文件,说明这应该是一个彻头彻尾的Windows程序
|
windows下的一些类型,需要自己重新定义一下
|
库需要稍微改,,window 跟 Linux 一些还是有区别的.
|
/usr/include/winnt.h:403: 错误:‘ULONGLONG’ 没有命名一个类型
/usr/include/windef.h:189: 错误:‘LONG_PTR’ 没有命名一个类型
/usr/include/winuser.h:681: 错误:‘LPARAM’ 未声明
/usr/include/winuser.h:696: 错误:‘LRESULT’ 没有命名一个类型
这些类型不是标准c++库的类型,在linux下当然无法编译;
reference link:
http://blog.csdn.net/hzgdiyer/archive/2010/12/20/6087943.aspx
/usr/include/windef.h:189: 错误:‘LONG_PTR’ 没有命名一个类型
/usr/include/winuser.h:681: 错误:‘LPARAM’ 未声明
/usr/include/winuser.h:696: 错误:‘LRESULT’ 没有命名一个类型
这些类型不是标准c++库的类型,在linux下当然无法编译;
reference link:
http://blog.csdn.net/hzgdiyer/archive/2010/12/20/6087943.aspx
|
宏需要重定义一下。。
|
win 和 linux 有自己的不同的system call
|
加一个头文件然后用#define ULONGLONG unsingen long
将该头文件包含到使用ULONGLONG的代码文件中。
将该头文件包含到使用ULONGLONG的代码文件中。