Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/cplusplus/127.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
一个eclipse C++;项目链接不同平台的不同库? 我有一个C++ Eclipse项目,我希望在Windows和OSX中轻松编译。p>_C++_Eclipse_Linker_Cross Compiling - Fatal编程技术网

一个eclipse C++;项目链接不同平台的不同库? 我有一个C++ Eclipse项目,我希望在Windows和OSX中轻松编译。p>

一个eclipse C++;项目链接不同平台的不同库? 我有一个C++ Eclipse项目,我希望在Windows和OSX中轻松编译。p>,c++,eclipse,linker,cross-compiling,C++,Eclipse,Linker,Cross Compiling,项目当前正在使用自动生成的makefile 我需要的库因平台而异 在osx中,我使用CoreMidi、CoreAudio和CoreFoundation框架。 在Windows中,我使用winmm.lib和多线程库 根据当前平台,链接不同库/框架的最简单方法是什么 我目前正在OSX上使用gcc工具链。我应该开始使用交叉编译工具链吗 我应该有两个项目。一个用于在windows中工作,另一个用于osx,将它们都签入版本控制 我是否应该编写一个自定义makefile,而不是使用自动生成的选项,该选项根据

项目当前正在使用自动生成的makefile

我需要的库因平台而异

在osx中,我使用CoreMidi、CoreAudio和CoreFoundation框架。 在Windows中,我使用winmm.lib和多线程库

根据当前平台,链接不同库/框架的最简单方法是什么

我目前正在OSX上使用gcc工具链。我应该开始使用交叉编译工具链吗

我应该有两个项目。一个用于在windows中工作,另一个用于osx,将它们都签入版本控制


我是否应该编写一个自定义makefile,而不是使用自动生成的选项,该选项根据平台的不同具有不同的g++参数?

根据您的描述,我不确定您是否可以轻松地跨平台编写。即使不使用第三方库,也必须为osx和windows提供单独的代码。大多数时候,他们首先将系统设计为跨平台的。要使一个现有的项目在单个平台上跨越一个平台是非常困难的。如果你有跨平台的需求,你最好先以这种方式设计,然后从头开始重写。

根据你的描述,我不确定你是否能轻松实现跨平台。即使不使用第三方库,也必须为osx和windows提供单独的代码。大多数时候,他们首先将系统设计为跨平台的。要使一个现有的项目在单个平台上跨越一个平台是非常困难的。如果你有跨平台的需求,你最好先以这种方式进行设计,然后从头开始重写。

我个人对一个项目有相同的目标,并得出结论,这对我来说是最好的。它可以处理多种语言、unicode字符串、XML、网络通信、本地用户界面和控制台应用程序:它可以做很多事情

然而,正如保罗指出的,你真的必须从一开始就计划好

<> > Qt在抽象的平台(在一个名为QtCar的模块)中允许你编写香草C++代码,或者你可以选择包括一些Qt C++语言扩展,QT帮助程序称为MOC(元对象编译器),它创建了香草C++,然后可以由大多数普通的C++编译器编译。 它还有一个漂亮的跨平台makefile生成器,名为qmake,它处理项目文件,为其运行的平台创建普通make文件


在我看来,目前至少支持Windows XP&7、OSX 10.4、10.5、10.6。但请注意,OSX Lion(在撰写本文时)尚未得到官方支持,但我怀疑它会出现在下一版本中。

我个人对一个项目有相同的目标,并得出结论,这对我来说是最好的。它可以处理多种语言、unicode字符串、XML、网络通信、本地用户界面和控制台应用程序:它可以做很多事情

然而,正如保罗指出的,你真的必须从一开始就计划好

<> > Qt在抽象的平台(在一个名为QtCar的模块)中允许你编写香草C++代码,或者你可以选择包括一些Qt C++语言扩展,QT帮助程序称为MOC(元对象编译器),它创建了香草C++,然后可以由大多数普通的C++编译器编译。 它还有一个漂亮的跨平台makefile生成器,名为qmake,它处理项目文件,为其运行的平台创建普通make文件


在我看来,目前至少支持Windows XP&7、OSX 10.4、10.5、10.6。但请注意,OSX Lion(在撰写本文时)尚未得到官方支持,但我怀疑它将出现在下一个版本中。

尽管Eclipse可以在OSX和Windows上正常运行,但它并不是设计用于这种方式的

最好的方法是为每个平台使用单独的IDE项目。这是为多个平台提供唯一编译设置的最简单方法


是的,您可以使用两个eclipse项目。或者,有一个用于OSX的X代码项目和一个用于MS Windows的VisualStudio项目也很常见

尽管Eclipse可以在OSX和Windows上都很好地运行,但它并不是设计用于这种方式的

最好的方法是为每个平台使用单独的IDE项目。这是为多个平台提供唯一编译设置的最简单方法


是的,您可以使用两个eclipse项目。或者,有一个用于OSX的X代码项目和一个用于MS Windows的VisualStudio项目也很常见

我现在才开始做这个项目,所以“从头重写”还不算太晚——我是否只需要将依赖于平台的代码抽象到特定于平台的库中?也许我应该把这个问题重新表述为“如何在不同平台上链接不同的库”我现在才开始着手这个项目,所以“从头重写”还不算晚——我是否只需要将依赖于平台的代码抽象到特定于平台的库?也许我应该把这个问题改为“如何在不同平台上链接不同的库”