vxworks gcc linux,针对VxWorks的GCC交叉编译器无法编译C++

我试图移植Linux库以在VxWorks上运行。我已经成功构建了binutils和gcc,目标为i486-wrs-vxworks,我可以成功构建一个简单的C程序。但是,当我尝试编译C++时,事情就会中断。针对VxWorks的GCC交叉编译器无法编译C++

我有一个简单的Hello World程序:

#include

#include

int main()

{

std::string s = "Hello World";

std::cout << s << std::endl;

return 0;

}

建造它,我呼吁:

i486-wrs-vxworks-gcc -I/home/kyle/vxworks-6.9/target/usr/h -I/home/kyle/vxworks-6.9/target/usr/h/c++ hello.cpp

这总是失败,与消息:

In file included from /home/kyle/vxworks-6.9/target/usr/h/c++/cerrno:4:0,

from /home/kyle/vxworks-6.9/target/usr/h/c++/xlocnum:4,

from /home/kyle/vxworks-6.9/target/usr/h/c++/ios:4,

from /home/kyle/vxworks-6.9/target/usr/h/c++/ostream:4,

from /home/kyle/vxworks-6.9/target/us

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
VxWorks支持C++编译,并且通常使用GNU的C++编译进行编译。以下是在VxWorks上使用GNU C++编译编译C++程序的基本步骤: 1. 在VxWorks目标机上安装GNU C++编译。 2. 创建一个VxWorks的工作目录,以及一个名为“Makefile”的文件。 3. 在Makefile文件中,定义编译的路径,并指定编译选项。 4. 在Makefile文件中,定义源文件和生成的目标文件。 5. 运行make命令,以编译接目标文件。 以下是一个简单的Makefile示例,用于编译一个名为“hello.cpp”的C++程序: ``` CC = /usr/local/vxworks/6.9/host/x86-win32/bin/gcc CXX = /usr/local/vxworks/6.9/host/x86-win32/bin/g++ CFLAGS = -Wall -O2 CXXFLAGS = -Wall -O2 TARGET = hello.out OBJS = hello.o $(TARGET): $(OBJS) $(CXX) -o $(TARGET) $(OBJS) hello.o: hello.cpp $(CXX) -c $(CXXFLAGS) hello.cpp clean: rm -f $(TARGET) $(OBJS) ``` 在上面的Makefile中,CC和CXX变量定义了编译的路径,CFLAGS和CXXFLAGS定义了编译选项,TARGET定义了生成的目标文件名,OBJS定义了要编译的源文件,$(TARGET)和$(OBJS)是Makefile的变量,用于指定目标文件和源文件的名称。 要编译程序,只需在VxWorks目标机上运行make命令即可。make会自动读取Makefile文件,并根据Makefile中的规则来编译接程序。例如,要编译上面的示例程序,可以在命令行中输入: ``` $ make ``` 这将使用GNU C++编译编译“hello.cpp”程序,并将生成的目标文件保存为“hello.out”。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值