gpt4 book ai didi

c++ - windows上写的c程序无法在linux上编译

转载 作者:太空宇宙 更新时间:2023-11-04 05:37:17 25 4
gpt4 key购买 nike

我使用 Microsoft Visual Studio 在 Windows 计算机上用 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 的新手)。

请告诉我是否有任何地方/网站列出了从 Windows 的 C 程序迁移到 Linux 时所需的更改。

最佳答案

没有将代码库从一个环境转换到另一个环境的方法。

编写好的代码很难。不幸的是,编写优秀且可移植的代码更加困难。

基本上,您需要始终了解哪些平台上提供了哪些内容、哪些内容仅在一个平台上可用以及其他平台上的等效内容是什么。

使用标准库和已知可在多个平台上使用的库(例如 Boost)非常有用。

很难给出更具体的建议,因为这是一个相当广泛的主题。我能说的是,您显示的错误与特定于 Windows 的 header “SDKDDKVer.h”有关,您必须以某种方式替换它。这意味着从该 header 中找到您使用的任何内容的等效项。

关于c++ - windows上写的c程序无法在linux上编译,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46218965/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com