【发布时间】:2017-09-14 12:19:40
【问题描述】:
我在 Windows 机器上使用 Microsoft Visual Studio 在 c 中开发了项目。该项目已成功编译并在 Windows 上运行,但是当尝试在 linux 服务器上编译源代码(.cpp,.h)时,它会抛出类似
的错误错误:
In file included from
warning: `#pragma once' is obsolete
SDKDDKVer.h: No such file or directory
用于编译*.cpp文件的命令是
gcc-2.95 -c -g -O2 -ffloat-store -Wall -Wpointer-arith\ -Wbad-function-cast -Wwrite-strings -Wstrict-prototypes\ -Wmissing-declarations -Werror -ftemplate-depth-25 -Iinclude file1.cpp
在线搜索,但找不到任何直接解决问题的方法。 在少数网站上,他们建议使用 Cygwin,但我的任务是一次性活动,所以不确定是否真的需要在我的电脑上设置 Cygwin。我不确定上述错误是什么意思(因为我是 c 新手)。
如果有任何地方/网站列出了从 c 程序从 windows 迁移到 linux 时所需的更改,请告诉我。
【问题讨论】:
-
您的编译器非常非常老了!它于 1999 年发布。
-
另外,如果没有一些移植或使用兼容性框架(如 MinGW 或 WINE),您通常无法在 Windows 和 Linux 中编译 C 代码。
-
你把你的 C 文件命名为
.cpp? -
GCC 编译器版本 2.95?你确定你用的是近 20 岁的东西吗?
-
第一次更新到较新版本的 gcc,应该可以摆脱
#pragma once错误。 SDKDDKver.h 是一个特定于窗口的头文件,没有 Linux 等效文件,您需要将其删除。我怀疑你会在这些方面遇到更多错误。