msp*_*err 40 c++ linux visual-studio visual-c++
构建(用于Linux)用Visual Studio编写的C++应用程序的最佳和最简单的方法是什么?代码本身已准备就绪 - 我只使用跨平台库.
是否可以在Visual Studio中的Windows下准备一切,然后在Linux下使用CLI工具构建它?有没有文件描述这个?
编辑:更多信息:
Libs使用:stl,wxwidgets,boost,asio,cryptlib.
Linux知识很少.
编辑#2:我选择了以下解决方案:使用kdevelop创建新项目并在那里编译所有内容.
Ore*_*ost 19
我们正在使用CMake for Linux项目.CMake可以生成KDevelop和Visual Studio项目文件,因此您只需创建CMake文件作为特定于平台的IDE文件的来源.KDevelop生成器很好,所以你可以在KDevelop中编辑和编译(它将依次调用Make).
另一方面,如果你没有什么花哨的东西,你可以使用CMake或者只是Make来在Linux上构建东西,如果你想继续使用你的解决方案文件(这是我目前正在为带有测试应用程序的库做的事情) .当您的构建过程不仅仅是"将这些文件放在编译器中并让我们看看它做什么"时,这种方法变得复杂,因此CMake解决方案在我看来对于跨平台开发是一件好事.
以下是如何在Linux 下手动编译C代码而无需其他构建工具:
gcc -s -O2 -o prog -I. -Iincludedir1 -Iincludedir2 -Llibdir1 -Llibdir2 code1.c code2.c -luse1 -luse2
Run Code Online (Sandbox Code Playgroud)
但是,如果您的项目大于几个文件,您可能需要使用构建工具(例如CMake,请参阅OregonGhost的答案)来自动编译许多文件并使其增量.如果你使用构建工具,它将在底层运行gcc,上面有类似的参数.理解上面的参数很有用,因此您可以在自动构建失败时进行故障排除.
这将编译code1.c和code2.c到可执行二进制prog,从.,includedir1和includedir2加载.h文件,从目录libdir1和libdir2加载库(例如libuse1.so*和libuse2.so*),使用库use1(对应于文件名libuse1.so*)和use2.
如果.c文件中出现未定义的符号错误,则必须指定更多-I标志.如果.o文件中出现未定义的符号错误,则必须指定更多-l标志.如果cannot find -l...出现错误,则必须指定更多-L标志.
8年后......
我今天偶然发现了这个问题,并认为你可能想看看Visual C++ for Linux.
2016年3月发布,VC++ for Linux允许您使用VC++创建项目,然后使用本机Linux工具在Linux机器/ VM中构建项目.此外,您还可以在VS中调试您的应用程序,因为Linux工具允许VS调试器通过SSH在您的Linux机器/ VM中驱动GDB!
看起来这几乎正是@mspoerr所要求的:)
|   归档时间:  |  
           
  |  
        
|   查看次数:  |  
           40043 次  |  
        
|   最近记录:  |