跨平台开发? 我正在寻找一种解决方案,它允许我用C++对Linux和Windows进行编码。
在Windows上,我使用Visual Studio(我在Windows上尝试了其他东西,但我使用的是,据我所知,这是最好的解决方案) 在Linux上我使用(我非常喜欢) 我的问题是,我希望该项目独立于VisualStudio和NetBeans 有一段时间我认为这是解决办法,但是学习过程太重要了,我宁愿花时间编码,也不愿用CMake学习所有技巧。所以我决定了。它在Linux上运行得很好,但在VisualStudio上却很糟糕 我在Windows上创建了一个小的Hello World程序。我创建了一个VisualStudioMakefile项目,在它正确编译和链接的同时。我可以运行可执行文件,但不能从Visual Studio运行,因为Visual Studio找不到可执行文件(无论我做什么)。我也不能调试。当我得到一条编译错误消息时,我也看不到它。从VisualStudio中我所能看到的是,有一个makefile操作正在进行,并且有一个错误(即使程序已经创建并运行良好) 我浏览Boost.Jam文档已经有一段时间了,但让我们面对现实吧,它非常糟糕(难怪没有很多人听说过它),或者我非常不适合这份工作(这意味着愚蠢的lol,但为什么很少人听说过它) 我有三个问题: 我想知道是否有人听说过一个使用Boost.Jam和VisualStudio的项目?如果是,我可以看一下吗 有没有一个真正的VisualStudio集成工具跨平台开发? 我正在寻找一种解决方案,它允许我用C++对Linux和Windows进行编码。,c++,visual-studio-2008,boost,cross-platform,cmake,C++,Visual Studio 2008,Boost,Cross Platform,Cmake,在Windows上,我使用Visual Studio(我在Windows上尝试了其他东西,但我使用的是,据我所知,这是最好的解决方案) 在Linux上我使用(我非常喜欢) 我的问题是,我希望该项目独立于VisualStudio和NetBeans 有一段时间我认为这是解决办法,但是学习过程太重要了,我宁愿花时间编码,也不愿用CMake学习所有技巧。所以我决定了。它在Linux上运行得很好,但在VisualStudio上却很糟糕 我在Windows上创建了一个小的Hello World程序。我创建了
有多少人认为学习(正确地)使用CMake需要花费大量时间?如果有任何代码可以加速, < p>如果我在Windows和Linux中用C++编写代码,我会为Linux编写代码,并用最小的CygWin安装程序捆绑应用程序。 < P>如果我在C++中为Windows和Linux编写代码,我会为Linux编写代码,并用最小的cygwin设置捆绑应用程序。您应该花时间学习CMake,并加快学习过程购买/阅读
如果您有问题,您应该使用激活的CMake(2009年8月有600条消息)您应该花时间学习CMake并加快学习过程购买/阅读
如果您有问题,您应该使用CMake,它处于活动状态(2009年8月有约600条消息)为Ben投票。我们有一家主要的供应商,他们为商品硬件访问提供了旧Unix代码的Windows端口,这正是他们所做的
Emacs在这两种平台上都可以正常工作,GNU也可以。如果您需要GUI,我会使用GTK+而不是Cygnus和X端口。请为Ben投票。我们有一家主要的供应商,他们为商品硬件访问提供了旧Unix代码的Windows端口,这正是他们所做的
Emacs在这两种平台上都可以正常工作,GNU也可以。如果您需要GUI,我会使用GTK+而不是Cygnus和X端口。Qt和Qt Creator看起来是解决您问题的好方法。qmake可以生成vcproj文件和本机Linux makefile。Qt和Qt-Creator看起来是解决问题的好办法。qmake可以生成vcproj文件和本机Linux makefiles。您确定查看了正确的文档吗?你说了“Boost.Jam”,所以很有可能你看错了东西。请访问
我确信很多人使用Boost.Build在VisualStudio中没有问题。您可以尝试在命令行上运行该程序吗?可能有一些Visual Studio决定不显示的错误消息 您确定查看的文档是正确的吗?你说了“Boost.Jam”,所以很有可能你看错了东西。请访问
我确信很多人使用Boost.Build在VisualStudio中没有问题。您可以尝试在命令行上运行该程序吗?可能有一些Visual Studio决定不显示的错误消息 我对NetBeans了解不多,但如果您想同时为Windows和Linux开发,并在Windows上使用Visual Studio,那么CMake确实是唯一明智的选择。现在我已经使用它好几年了,我猜不出它为我维护makefiles和project文件节省了多少时间。我对NetBeans不太了解,但是如果你想同时为Windows和Linux开发,并在Windows上使用Visual Studio,那么CMake是唯一明智的选择,真的。我已经使用它好几年了,我猜不出它为我维护makefiles和project文件节省了多少时间。我也推荐使用CMake。一开始有点吓人,但你会逐渐适应它。对于初学者来说,编写跨平台脚本仍然相当容易,即使它们不像专家所做的那样漂亮或最优。与CppUnit(用于单元测试)和Hudson(构建管理)的集成使得能够在短时间内配置一个连续集成框架。我也建议使用CMake。一开始有点吓人,但你会逐渐适应它。对于初学者来说,编写跨平台脚本仍然相当容易,即使它们不像专家所做的那样漂亮或最优。与CppUnit(用于单元测试)和Hudson(构建管理)的集成使我们能够在短时间内配置一个连续集成框架。几个月前,我在Fosdem看到了一个CMake演示,它看起来非常令人印象深刻。我认为花在学习上的时间可能是值得的
另一方面,根据我个人的经验,在每个平台上维护单独的项目文件是一种完全可以接受的方式。几个月前,我在Fosdem上看过一个CMake演示,它看起来非常令人印象深刻。我认为花在学习上的时间可能是值得的 另一方面,根据我个人的经验,在每个平台上维护单独的项目文件是一种完全可以接受的方式。唯一的非trivi
if(WIN32)
SET(CMAKE_BUILD_TYPE "Release") #force release for win32, no motive to debug on win32
SET(CMAKE_CXX_FLAGS_RELEASE "-march=pentium4 -mtune=pentium4 -mwindows -DNDEBUG -mno-align-stringops -minline-stringops-dynamically -fno-ident -freorder-blocks-and-partition -finline-limit=700 -mfpmath=sse -ftree-loop-distribution -floop-block -floop-interchange -floop-strip-mine -findirect-inlining -ftree-switch-conversion ${BASE_CXX_FLAGS}")
SET(WIN32_BASE /home/win32-devel)
SET(QT_LIB ${WIN32_BASE}/qt-win-opensource-src-4.5.3/lib/)
SET(CMAKE_CXX_COMPILER i686-pc-mingw32-g++)
SET(CMAKE_AR i686-pc-mingw32-ar)
SET(CMAKE_RANLIB i686-pc-mingw32-ranlib)
SET(CMAKE_LINKER i686-pc-mingw32-ld)
ADD_CUSTOM_COMMAND( OUTPUT ${CMAKE_CURRENT_BINARY_DIR}/app_icon.o
COMMAND i686-pc-mingw32-windres
-I${CMAKE_CURRENT_SOURCE_DIR}
-o${CMAKE_CURRENT_BINARY_DIR}/app_icon.o
-i${CMAKE_CURRENT_SOURCE_DIR}/icons/win32_icon.rc
)
SET(OPENSSL_LIBRARIES ${WIN32_BASE}/openssl-0.9.8l/libeay32.dll;${WIN32_BASE}/openssl-0.9.8l/libssl32.dll)
SET(QT_LIBRARIES ${QT_LIB}QtCore4.dll;${QT_LIB}/QtGui4.dll)
SET(CMAKE_EXECUTABLE_SUFFIX ".exe")
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${QT_LIB}../include ${WIN32_BASE}/openssl-0.9.8l/include)
message("Building For : Win32")
else()
include_directories(${CMAKE_CURRENT_BINARY_DIR} ${QT_INCLUDES} ${OPENSSL_INCLUDE_DIR})
message("Building For : Linux")
endif()
SET(CMAKE_SHARED_LIBRARY_LINK_CXX_FLAGS "-Wl,--no-undefined -static-libgcc -Wl,-O1 -Wl,--as-needed -Wl,--sort-common -s")