Articles of 跨平台

在32位debian系统上生成64位代码

您能否介绍一下,您是如何在32位debian机器上安装gcc-multilib和g ++ – multilib来生成64位代码的? 我在我的32位debian系统上安装了gcc-4.7.2(还安装了binutils-2.23)。 当我尝试用-m64标志编译一个简单的hello世界程序 # gcc -m64 hello.c 我收到以下错误消息: "hello.c:1:0: sorry, unimplemented: 64-bit mode not compiled in" . 请告诉我在32位debian系统上生成64位代码的步骤。

如何在Netbeans中创build一个跨平台的C ++应用程序?

在Netbeans 8.0.1中为Linux和Windows操作系统创build一个简单的“Hello world”跨平台C ++应用程序时遇到了一些困难。 我发现几乎没有Windows的说明,没有Linux的说明(我的操作系统是Ubuntu 14.04)。 我对互联网的研究使我得出结论,应该为Windows OS创build一个makefile。 通常,在创build一个C ++项目时,Netbeans会build议我们为我们创build一个makefile。 这很好,但只适用于Linux。 我坚持创buildMakefile(以前从来没有这样做),所以这些是我为Windows创buildmakefile的步骤: 右键点击Project – > New – > Makefile 文件名:“Makefile-Windows” – >下一步 编译器:GNU编译器,平台:Windows – >下一步 基地目录:项目目录 – >下一步 目标名称:hello-world(“可执行”单选button) – >添加 – >下一步 所有创build的文件的目录:GNU-amd64-Windows – >下一步 input源文件:main.cpp – >下一步 search包含文件的目录:留空 – >下一步 select要链接的库:无,链接模式:dynamic链接 – >下一步 链接的库:留空 – >下一步 你想如何build立你的代码? 模式 – >下一步 ,13.编译器选项:左默认 – >完成 […]

加拿大交叉binutils到ARM

我在使用ARM处理器的HP Jornada 720上使用JLime 。 我已经有一个x86的交叉编译的gcc ( arm-linux-gcc )。 我想做什么的想法很难理解,然后看看这个图表: arm-linux-gcc(在我的Ubuntu笔记本电脑上) – > binutils在ARM处理器上运行(目标是在我的ARM设备上编译mips-elf) 我想让一个binutils在一个ARM Linux设备上运行,它将程序编译到MIPS Linux。 我的问题是: 我如何需要./configure这个? 我需要使用一个额外的参数来做或改变MakeFile上的任何东西? 你明白我想做什么? 😉

在另一个发行版中运行C可执行文件

我有一个C程序,我正在开发使用Ubuntu 11.10(Linux版本3.0.0-12-generic-pae内核)。 我需要在安装有Debian 3.1(Linux版本2.4.24-om2)的集群中运行该程序,并使用Intel(R)Pentium(R)4 CPU 3.20GHz处理器。 问题是我无法在Debian集群中进行编译,因为它没有安装我的程序需要的GSL库,我不知道如何在没有root权限的情况下安装它(或使用它)。 如果我尝试运行我在Ubuntu中编译的可执行文件(或者简单的hello world程序,对于这种情况),即使我使用在群集上执行时引发的所有gcc选项进行编译,也是行不通的。 gcc –save-temps -fverbose-asm hello_world.c -o hello_world 当我尝试执行在Ubuntu中编译的程序时,会抛出: floating point exception 更新:当我使用-static标志编译时,我得到的错误是: FATAL: kernel too old Segmentation fault. 所以我可以做一些比重新实现我使用的GSL的所有function更好的东西。

Mac OS X共享库跨平台开发

我应该承认,我甚至不拥有一台Mac,我已经完成了Windows和Linux编程。 如果可能的话,我希望通过将它与Linux相关联来学习关于Mac OS X的一些知识。 希望能够在不购买Mac的情况下编译Mac共享库。 注意:绝对没有GUI,所以cocoa不应该是正确的? 也想象我现在使用C或C ++ 0x和POSIX。 Mac OS X共享库和Linux有什么区别? 需要什么才能在Mac上运行Linux .so文件? 我是否需要一个Mac本机替代ld-linux.so,和linux-gate.so或其他一些与crt相关的目标文件? 在Windows或Linux上有没有跨平台的gcc for Mac? (也没有GUI)

跨平台的多媒体信息亭

我的团队的任务是构build一个全屏幕的亭式应用程序来播放媒体文件。 最初,我们需要支持WMV / MP4以及一些完整的1080p图像,尽pipe下面我们需要扩展它以涵盖其他格式(不同的video格式以及HTML,SWF等的显示)。 该应用程序还包含一个体面的块业务逻辑有关的调度,日志logging,性能监测以及networking代码通过Web服务(或可能是TCP)与中央服务器交谈,并可能作为服务器本身。 对于我们的WMV / MP4video播放,硬件加速将是一个巨大的好处。 目标硬件有弱的CPU,但强大的显卡。 下面是kicker:我们是一个.NET商店(我们现有的应用程序是一个WinForms智能客户端),并且在C#和.NET堆栈中经验丰富且高效。 该应用程序最初将面向Windows Embedded(.NET 3.0), 但我们也将很快需要Linux版本。 在我们之间,我们有一些C / C ++的经验和一些Linux的经验,但我们并不期望在该平台上有良好的生产力。 所以我在以下几点上特别提出build议: video。 在Windows上,我们已经看到了使用DirectShow.NET取得的成功。 在有能力的硬件上,WPF MediaElement似乎也performance良好。 我们应该在Linux上使用什么? libavcodec似乎是一个普遍的select。 在Linux上的NVidia显卡上硬件加速吗? 我们还有什么其他select在Linux上? 有什么跨平台的,我可以考虑? 堆栈。 a)理想情况下,我们可以将所有东西写在.NET中,然后在Linux上的Mono下运行。 Mono上不支持video播放和其他一些组件(如性能监视)。 我想我们可以重写这些元素,比如C ++; 但我猜测业务逻辑方面的大多数东西都可以工作。 b)也许最好是在Windows版本上放弃我们的前期生产力,以便跨平台出门。 那Java呢? 那里的video有不同的select吗? 另一个框架呢? 像QT的东西? 任何人都可以提出一些跨平台的东西吗? 一般来说,根据要求,你会用什么? 我很感激你可能拥有的任何一个。

在Linux和Windows上,进程pipe理代码的performance有所不同 – 为什么?

(上下文)我正在开发一个基于BitTorrent Sync的跨平台(Windows和Linux)应用程序,用于在计算机之间分发文件。 我已经在C#中完成了,现在正在向C ++移植。 BTSync可以在API模式下启动,为此,必须启动“ btsync ”可执行文件,将configuration文件的名称和位置作为parameter passing。 在这一点上,我最大的问题是让我的应用程序处理可执行文件。 在寻找一个跨平台的stream程pipe理库的时候,我已经find了Boost.Process ,并决定尝试一下。 看来v0.5是最新的工作版本,正如有证据表明的那样,有很多人在使用它。 我按如下方式实现了库(仅适用于相关代码): 文件: test.hpp namespace testingBoostProcess { class Test { void StartSyncing(); }; } 文件: Test.cpp #include <string> #include <vector> #include <iostream> #include <boost/process.hpp> #include <boost/process/mitigate.hpp> #include "test.hpp" using namespace std; using namespace testingBoostProcess; namespace bpr = ::boost::process; #ifdef _WIN32 const vector<wstring> EXE_NAME_ARGS = […]

如何在Ubuntu上使用arm-linux-gnueabihf-g ++在amd64系统上交叉编译32位ARM架构的应用程序

我是arm-linuxgnueabihf-g ++的新手。 我正在使用Ubuntu 14.04安装amd64机器,并安装了arm-linuxgnueabihf-g ++-4.7。 我想交叉编译我的应用程序,目标是32位ARM架构。 我运行命令:arm-linux-gnueabihf -g ++ -m32 hello.cpp -o hello。 但它给了我错误:arm-linux-gnueabihf-g ++:错误:无法识别的命令行选项'-m32'。 似乎在互联网上几乎没有关于arm-linux-gnueabihf-g ++的文档。 任何人都可以给我一些帮助吗? 非常感谢!

C编程 – Linux和OSX之间的区别

你好,我正在研究C编程。 我想知道在C和Linux的OSX之间是否有区别? 我知道Windows和Linux / Unix之间有一些(如获取系统时间戳)。 是否有任何特定的命令或技术不能运行其中的一个? “基本”程序是否应该同时运行? 我知道C不是交叉编译语言,但OSX和Linux都是Unix–不是吗?

为什么从JComboBox中获取非常不同的行为,取决于平台(Windows / Linux)和语言(Java / Jython)

我正在编写一个将最终在Linux上运行的Jython应用程序。 我在Windows机器上开发,当在Linux上testing时,我遇到了不一致的行为。 开发机器 – Windows XP,Java 6,Jython 2.5.2 testing机器 – 红帽3.4.3,Java 6,Jython 2.5.2 在Windows中,使用Java或Jython,我会得到我认为是“正常的”JComboBox行为: 点击文字或箭头,名单下降。 点击所需的项目,进行select。 在Linux上,我从Java获得以下行为: 点击并按住 ,列表下降。 释放所需的项目,进行select。 我也得到了一些非常奇怪的行为,比如 ComboBox本身被渲染到它应该在的窗口中,但是我点击并且列表从屏幕的左上angular下来,或者 当我单击并按住时,该列表将显示在正确的位置,但是随后必须将鼠标拖到左上angular才能进行select,就好像该列表仍然从此处放下。 做出select的唯一方法是使用向上/向下箭头键,即使如此,我仍然从(0,0)中删除列表。 在Linux上,我从Jython中得到以下行为: 点击并按住 ,列表下降。 当我向下移动鼠标时,列表项被突出显示,但它们大约有1.5行。 也就是说,直到鼠标在第三个项目的中途,第二个项目才会被突出显示。 释放鼠标button,列表消失,因为它应该,但原始项目仍然被选中,就像什么都没有发生。 同样,正确使用ComboBox的唯一方法是使用键盘,尽pipe我不能从列表中错误的位置得到同样的古怪。 这是我的Java SSCCE: package foo; import javax.swing.*; import java.awt.*; public class Foo extends JPanel{ public Foo(){ super(new BorderLayout()); String[] contents = {"Foo", "Bar", "Baz"}; JComboBox […]