申威开发论坛

 找回密码
 立即注册
查看: 5125|回复: 15

问神威1621的g++的交叉编译器编译的可执行文件不能再申威f...

[复制链接]

5

主题

21

帖子

165

积分

注册会员

Rank: 2

积分
165
发表于 2019-1-8 09:51:06 | 显示全部楼层 |阅读模式
比如我用交叉编译命令如下。
  1. swg++ hello_sw.cpp -o hello_sw
复制代码
这样编译成功的代码在申威机器上不能运行,而在神威机器上使用naive的编译器可以成功编译。

回复

使用道具 举报

59

主题

207

帖子

1312

积分

超级版主

Rank: 8Rank: 8

积分
1312
发表于 2019-1-8 09:54:30 | 显示全部楼层
你好 交叉编译工具链是类似这样的:sw_64sw2-unknown-linux-gnu-g++  不是swg++
回复 支持 反对

使用道具 举报

5

主题

21

帖子

165

积分

注册会员

Rank: 2

积分
165
 楼主| 发表于 2019-1-8 10:00:42 | 显示全部楼层
申威CPU 发表于 2019-1-8 09:54
你好 交叉编译工具链是类似这样的:sw_64sw2-unknown-linux-gnu-g++  不是swg++

我用的是 alias "swg++"="sw_64sw6-sunway-linux-gnu-g++"
一个是511,一个是530,请问两者有什么差别吗。
还有,交叉编译选项是什么。谢啦~~~~


回复 支持 反对

使用道具 举报

59

主题

207

帖子

1312

积分

超级版主

Rank: 8Rank: 8

积分
1312
发表于 2019-1-8 10:16:28 | 显示全部楼层
530是511的升级版本。具体区别就是版本的升级。
交叉编译没有什么特别的选项。跟普通gcc一样。
你不能成功的运行的现场是什么能发个图上来吗?
回复 支持 反对

使用道具 举报

5

主题

21

帖子

165

积分

注册会员

Rank: 2

积分
165
 楼主| 发表于 2019-1-8 10:21:23 | 显示全部楼层
那个机器离我有点远,我估计我配置有点问题。下面这段是我在ubuntu虚拟机上运行编译指令的版本结果。似乎要设置一下这个configure,但是这上面写死了,不知道怎么改。
  1. shawn@shawn-VirtualBox:/usr/lib/gcc/x86_64-linux-gnu/7$ swg++ -v
  2. Reading specs from /usr/sw/swgcc530-sw6-cross/usr/lib/gcc/sw_64sw6-sunway-linux-gnu/5.3.0/specs
  3. COLLECT_GCC=sw_64sw6-sunway-linux-gnu-g++
  4. COLLECT_LTO_WRAPPER=/usr/sw/swgcc530-sw6-cross/usr/libexec/gcc/sw_64sw6-sunway-linux-gnu/5.3.0/lto-wrapper
  5. Target: sw_64sw6-sunway-linux-gnu
  6. Configured with: /home/xwb/swgcc530-svn/gcc-5.3.0/configure --prefix=/usr/sw/swgcc530-sw6-cross/usr --with-gmp=/usr/sw/swgcc530-sw6-cross/usr/lib_for_gcc --with-mpfr=/usr/sw/swgcc530-sw6-cross/usr/lib_for_gcc --enable-shared --program-suffix=5 --enable-linker-build-id --enable-threads=posix --enable-nls --enable-clocale=gnu --enable-libstdcxx-debug --enable-libstdcxx-time=yes --with-default-libstdcxx-abi=new --enable-gnu-unique-object --disable-vtable-verify --enable-libmpx --enable-plugin --with-system-zlib --disable-browser-plugin --enable-multiarch --disable-werror --enable-multilib --enable-checking=release --enable-languages=c,c++,fortran,go,lto,objc,obj-c++ --build=x86_64-redhat-linux --host=x86_64-redhat-linux --target=sw_64sw6-sunway-linux-gnu --enable-c99 --enable-long-long --enable-threads=posix --enable-gnu-indirect-function --enable-__cxa_atexit --disable-nls --with-sysroot=/usr/sw/swgcc530-sw6-cross CFLAGS='-g -gdwarf-2' CXXFLAGS='-g -gdwarf-2'
  7. Thread model: posix
  8. Version: SWREACH GCC5.3.0-48 (20180703) by xwb on trunk
复制代码
回复 支持 反对

使用道具 举报

5

主题

21

帖子

165

积分

注册会员

Rank: 2

积分
165
 楼主| 发表于 2019-1-8 10:23:48 | 显示全部楼层
申威CPU 发表于 2019-1-8 10:16
530是511的升级版本。具体区别就是版本的升级。
交叉编译没有什么特别的选项。跟普通gcc一样。
你不能成功 ...

申威服务器上运行编译出来的文件时候,服务器并不把他当成可执行文件。
回复 支持 反对

使用道具 举报

5

主题

21

帖子

165

积分

注册会员

Rank: 2

积分
165
 楼主| 发表于 2019-1-8 10:57:30 | 显示全部楼层
申威CPU 发表于 2019-1-8 10:16
530是511的升级版本。具体区别就是版本的升级。
交叉编译没有什么特别的选项。跟普通gcc一样。
你不能成功 ...

可否提供一下这个编译器的cmakelist或makefile文件,我重新编译一下。
回复 支持 反对

使用道具 举报

59

主题

207

帖子

1312

积分

超级版主

Rank: 8Rank: 8

积分
1312
发表于 2019-1-8 11:31:08 | 显示全部楼层
不需要设置什么configue。你的环境变量也是设置对了的。你把报错的设置发出来看看。
另外你把交叉编译器“rm -rf /usr/sw/swgcc511-6A-cross/usr/lib/gcc/sw_64sw2-unknown-linux-gnu/5.1.1/specs”
把这个删了试试 530也是一样的哈
回复 支持 反对

使用道具 举报

59

主题

207

帖子

1312

积分

超级版主

Rank: 8Rank: 8

积分
1312
发表于 2019-1-8 11:31:46 | 显示全部楼层
没有这些
回复

使用道具 举报

5

主题

21

帖子

165

积分

注册会员

Rank: 2

积分
165
 楼主| 发表于 2019-1-8 11:39:31 | 显示全部楼层
申威CPU 发表于 2019-1-8 11:31
不需要设置什么configue。你的环境变量也是设置对了的。你把报错的设置发出来看看。
另外你把交叉编译器“r ...

我来试试删除,但是我没做什么设置啊。
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

Archiver|手机版|小黑屋| ( 蜀ICP备17021894号

GMT+8, 2021-3-5 15:18 , Processed in 0.070119 second(s), 21 queries .

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表