从Windows移动到Ubuntu 我以前在微软Visual C++中用Windows编程,我需要把我的一些便携式程序(用便携式C++编写)作为跨平台,或者至少我可以为Linux和Windows发布我的程序的工作版本。
我是Linux应用程序开发的新手(很少使用操作系统本身) 所以,今天,我安装了Ubuntu10.04LTS(通过Wubi),并将g++编译器作为我的主要武器装备在Code::Blocks上。然后我编译了我的第一个Hello World linux程序,我对输出程序感到困惑 我可以通过Code::Blocks中的“Build and run”菜单选项运行我的程序,但当我试图通过文件浏览器(在/media/myntfspatition/MyProject/bin/Release中;是的,我将其保存在NTFS分区中)从外部启动编译后的应用程序时,程序没有出现 为什么??我没有主意了 我需要将我的从Windows移动到Ubuntu 我以前在微软Visual C++中用Windows编程,我需要把我的一些便携式程序(用便携式C++编写)作为跨平台,或者至少我可以为Linux和Windows发布我的程序的工作版本。,c++,windows,linux,ubuntu,C++,Windows,Linux,Ubuntu,我是Linux应用程序开发的新手(很少使用操作系统本身) 所以,今天,我安装了Ubuntu10.04LTS(通过Wubi),并将g++编译器作为我的主要武器装备在Code::Blocks上。然后我编译了我的第一个Hello World linux程序,我对输出程序感到困惑 我可以通过Code::Blocks中的“Build and run”菜单选项运行我的程序,但当我试图通过文件浏览器(在/media/myntfspatition/MyProject/bin/Release中;是的,我将其保存在
Windows
和microsoftvisualstudio
心态更改为Linux
和code::Blocks
心态
所以我提出了这些问题:
- 在Windows中,我只需运行生成的可执行(.exe)文件
- 在Windows中,我只是将可执行文件与相应的DLL文件(如果有)一起分发
- 在Windows/Visual Studio中,我只需将所需的库添加到项目设置中的其他依赖项中,我的程序就会自动链接到所需的静态库(-ies)/dll
- 在Windows中,是的。有时会提供预编译的*.lib文件
- 当然,在Windows中,我使用wxMSW
- 在Windows中,有一个名为“wxPack”(wxPack)的项目,它节省了我很多时间
/program
.so
文件.a
是静态库,。因此
是共享库但是,不确定wxWidgets发行版。1,Unix通常没有可执行文件的特定扩展,因此myprog.exe将只是myprog。 如果IDE没有自动执行此操作,您可能必须将其设置为可执行,请键入“chmod+x myprog”
5,对于wxWindows,我会下载源代码并构建它,查看构建说明,但可能只是“配置;制作;制作安装”的问题。通常在Unix中,您构建libs表单源代码,以便它们能够正确地找到您机器上的所有组件-您还拥有示例的源代码等。我刚刚在rlbond的回答中添加了一些信息
是的,如果您安装了wxGTK软件包:)为什么不坚持使用您所知道的并在.NET中开发的内容呢?Ubuntu自带Mono。你可以继续使用VisualC++或升级到C语言,使你的生活变得简单多了。 < P>这不是真正要回答你的问题,但我认为是一个有效的建议。 您正试图解决两个问题:
一旦您对以上内容感到满意,那么就将代码转移到Linux。在这一点上,任何移植工作都应该是微不足道的。因为Ubuntu附带了wxGTK软件包,所以您肯定应该针对它们进行构建。不过,对于开发,您应该使用调试版本,因此您可以自己构建,但是对于部署,根据系统提供的包构建似乎更好
wxX11是一个比wxGTK更糟糕的选择,只在wxGTK不存在或需要比现有版本更新的GTK库的系统上使用它。对Linux新手的一条一般建议是:您应该学会正确使用所选的发行版。 在你的例子中,这意味着学习如何获得Ubuntu提供的正确的开发包。例如,其他一些人建议您下载您将要使用的库的源代码,但更好的方法是使用Ubuntu的包系统下载您要针对的库以及该库的标题(通常放在单独的包中)以及库的调试符号(通常也在单独的包中) 在Ubuntu的System->Administration菜单中查找Synaptic工具,它允许您搜索Internet上的软件包存储库。您几乎肯定会找到所需库的软件包以及所有工具 如何执行已编译的linux 外部(外部)程序
./myapp
PATH=".:$PATH"
myapp
apt-cache search wx
man ld.so