注意:此问题的目的是找到一种在Windows上开发VC并将代码平滑地移植(尽可能少地编辑代码)到Linux系统中,以便编译成可执行文件并运行的标准方法。
根据我收到的答案,我可以看出有一个误解。因此,我将把这个问题分成两个单独的问题。一个是我的原始问题(修改后的问题),另一个是我的具体问题及其如何解决。(一旦发布链接,我将添加到这个问题中。)
注意:我对C++和使用makefiles进行编译都很新手。
我一直在创建一个在Linux服务器上运行的C++程序,到目前为止我一直在使用Visual Studio(Window的当前版本)来编写所有代码。为了安全起见,在开始编写程序之前,我试图在VC中创建一些基本的C++文件,然后将它们传输到我的服务器,再用g++编译它们并运行可执行文件。一切都顺利进行,所以我想:
“嘿,我可以继续编写我的整个程序,按照相同的过程,一切都会没问题!”
显然,我是错了,这就是为什么我来到这里的原因。
当我运行我的makefile时,我得到了很多错误,并且我不太确定如何解决这种情况。许多错误信息似乎在暗示我使用向量(当然,在VC编译时运行良好)。
我查看了以下问题:
如何在Visual Studio 2010中为Linux进行编译
但我并没有找到解决问题的直接方法(例如,我更希望避免在 Linux 平台上安装 VC 并从那里开始工作)。
我还尝试使用wineg++,但似乎编译没有任何变化。
应该如何解决这个问题?
意思是:在 Windows 上开发 VC 然后迁移到 Linux 是很常见的做法吗?如果是,是否有一种标准方法确保一切顺利?还是只需要了解 Linux 上的编译器如何工作并适当编码以避免出现错误?
最好的解决方案是,允许我在 Windows 上继续开发,然后在完成后将所有内容迁移到 Linux。如果可能的话,请尽量简单易懂地回答,因为我在大多数这方面的知识方面仍然是非常业余的。
编辑:我也想提到我没有使用任何疯狂的库。只有 math.h 和 vector。
一些错误的示例:
使用一些 double 初始化向量:
对应的编译错误:
CMake
来生成你在Linux和Visual Studio中的项目文件。 - drescherjm-Wall -Wextra
并修复这些警告。还要注意您正在构建的C++标准,尽管使用比原始标准更新的标准不应该引起问题(假设代码是一些标准的C++)。 - hydeg++ -std=c++11 <一堆其他选项> example.cpp
。 - user4581301