从Visual Studio 2012为Windows和UNIX计算机编译项目
Compiling a project for both Windows and UNIX machines from Visual Studio 2012
我正试图找到一种快速的方法,使用Visual Studio 2012(以及我可能需要的任何其他东西)为Windows和UNIX(AIX)环境编译C++项目。
我主要感兴趣的是编译部分,而不是代码本身所需的更改。如果Visual Studio没有支持,Cygwin是一个好方法吗?还有更好的吗?
谢谢!
*编辑:该项目是一个dll(等等)-如果这改变了什么。
简单的答案:你不能。
将UNIX和Windows开发环境分开,并通过一些软件管理存储库(如git或Perforce)共享代码。(我推荐后者。)
VS无法生成Unix二进制文件。
作为VS构建的一部分,您可以运行一个脚本,该脚本将通过一些交叉编译器调用Unix编译。
编辑:Per NikosC。注释Cygwin不生成Unix可执行文件。也许这个线程可以帮助:如何在Windows上交叉编译C代码,使二进制文件也能在Unix(Solaris/HPUX/Linux)上运行?
您可以尝试相同的netbeans远程构建插件和调试。下面是相同的链接,我正在使用它来构建linux和solaris。对于windows,您可以运行sshserver
https://netbeans.org/kb/docs/cnd/remotedev-tutorial.html我希望这将有助于
对于linux,从Visual Studio 2017开始,这已经成为可能!不过,您确实需要访问linux机器,在那里将执行linux的实际构建。
Visual Studio 2017引入了C/C++Linux开发工作负载。若要安装它,请启动Visual Studio安装程序,然后选择安装或修改现有安装。滚动到底部。在"其他工具集"一节中,您可以找到使用C++开发Linux。
您可以使用任何安装了SSH、gdbserver和编译器的Linux发行版。在您的Linux环境中,这很容易:
sudo apt install -y build-essential gdbserver
要在Visual Studio中创建新的Linux控制台应用程序,请在"新建项目">"Visual C++">"跨平台">"Linux"下选择该项目类型。
有关更多详细信息,请查看此博客文章
- 在UNIX系统中使用DIR查找文件的字节大小
- 当套接字连接断开时检测C/C++Unix
- 为什么使用 P/Invoke 调用 dll 时,某些计算机中的 LoadLibrary 失败?
- EvtExportLogneneneba API正在将远程计算机的事件日志保存到远程PC本身.如何将其保存到主机
- C++:floor unix时间戳到UTC月份
- 如何在C/C++中用FD_set Unix设置套接字文件描述符
- 外壳包装器句柄/执行交互式命令管道C++ UNIX
- C++:如何将 unix 时间的字符串转换为 *tm?(使用时间错误:"cannot convert 'String' to 'tm*' ")
- createFile() 和 DeviceIoControl() 等效于 Unix/Linux 中的卷设备
- 为什么我能够为阵列分配比计算机实际拥有的内存更多的内存
- 我可以使用任何好的逻辑来阻止计算机将 O 放在井字游戏中的现有 X 上
- C++ 计算机猜测用户数量在 7 次猜测以内
- 如何将 jsoncpp 库包含在 unix 上的项目中?
- C++为什么我的编译器成功了,但我的计算机给出了调试错误?
- 在 c++ 中连接字符串和整数,以便在 C++ 11 不支持计算机的情况下读取多个文件
- 我的 SDL2 程序需要哪些二进制文件,以便它在另一台未安装 SDL2 的计算机中工作
- 将非常大的 int 转换为双倍,在某些计算机上会损失精度
- 如何在个人计算机和群集 (c++) 上生成相同的随机数
- 系统错误:程序无法启动,因为您的计算机中缺少MSVCP140D.DLL。尝试重新安装该程序以解决此问题
- 从Visual Studio 2012为Windows和UNIX计算机编译项目