Qt怎么换别的GCC

Qt怎么换别的GCC,第1张

我在/ opt文件夹中安装了gcc 4.8.0。

我把PATH放在里面,所以当我做一个gcc / g ++ -v时,它返回给我4.8.0版本。

但是当我去QT Creator并用c ++ 11代码编译我的程序(在4.3>中实现)时,它不能编译。

所以我把一个-v选项放在QMAKE_CXXFLAGS标志中。

所以我得到:

使用内置规格。 目标:i686-apple-darwin11 配置为:/private/var/tmp/llvmgcc42/llvmgcc42-2335.15~25/src/configure --disable-checking --enable-werror --prefix = /Developer/usr/llvm-gcc-4.2 --mandir = / share / man --enable-languages = c,objc,c ++,obj-c ++ --program-prefix = llvm- --program-transform-name = / ^ [cg] [^ .-] * $ / s / $ / - 4.2 / --with-slibdir = / usr / lib --build = i686-apple-darwin11 --enable-llvm = / private / var / tmp /llvmgcc42/llvmgcc42-2335.15~25/dst-llvmCore/Developer/usr/local --program-prefix = i686-apple-darwin11- --host = x86_64-apple-darwin11 --target = i686-apple-darwin11 - with-gxx-include-dir = / usr / include / c ++ / 4.2.1 线程模型:posix gcc版本4.2.1(基于Apple Inc. build 5658)(LLVM build 2335.15.00 )

然后我尝试创建另一个指向新路径的工具链,它位于Custom中,但我无法使用它。

我如何强制QT Creator使用另一个编译器(在我的情况下是GCC,但是在另一个PATH中)

我想迫使XCODE不需要更改编译器。

有没有办法做到这一点?

解决方案

在Qt Creator中进入

工具 - >选项 - >构建和运行 - >编译器

然后添加一个新的gcc编译器。

<然后进入

工具 - >选项 - >构建和运行 - >套件

并更改当前套件中的编译器(通常称为Desktop)。

您可能需要最新版本的Qt Creator和工具包(可从Qt Creator 2.6获得)。

I installed a gcc 4.8.0 in the /opt folder. I put in my PATH, so when i do a gcc/g++ -v it returns to me the 4.8.0 version. But when i go to the QT Creator and compile my program with the c++11 code (implemented in 4.3 >) it don't compile. So i put a -v option in the QMAKE_CXXFLAGS flag. So i get:

Using built-in specs.

Target: i686-apple-darwin11

Configured with: /private/var/tmp/llvmgcc42/llvmgcc42-2335.15~25/src/configure --disable-checking --enable-werror --prefix=/Developer/usr/llvm-gcc-4.2 --mandir=/share/man --enable-languages=c,objc,c++,obj-c++ --program-prefix=llvm- --program-transform-name=/^[cg][^.-]*$/s/$/-4.2/ --with-slibdir=/usr/lib --build=i686-apple-darwin11 --enable-llvm=/private/var/tmp/llvmgcc42/llvmgcc42-2335.15~25/dst-llvmCore/Developer/usr/local --program-prefix=i686-apple-darwin11- --host=x86_64-apple-darwin11 --target=i686-apple-darwin11 --with-gxx-include-dir=/usr/include/c++/4.2.1Thread model: posix

gcc version 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2335.15.00)

Then i tried to create another toolchain that points to the new path, it is in Custom, but i cannot use it. How can i force the QT Creator to use another compiler (in my case the GCC, but in another PATH) I want to force so the XCODE dont need to change the compiler too. Is there a way to do that?

解决方案

In Qt Creator go in

Tools ->Options ->Build&Run ->Compilers

then add a new gcc compiler.

Then go into

Tools ->Options ->Build&Run ->Kits

and change the compiler in your current kit (usually called "Desktop").

You may need latest versions of Qt Creator with "kits" (available from Qt Creator 2.6).

编译器:GCC编译器可以用来编译C和C++源程序,C编译器通过文件的后缀来判断是C程序还是C++程序。一般来说C源文件的后缀为“.C”,而C++源文件的后缀为“.C”或“C++”。

但GCC编译器只能编译C++源程序,不能与使用的库连接,因此用G++来完成C++程序的编译与连接,该程序会自动调用GCC来编译。

Linux里环境变量的设置,有如下几种方法:

(1)直接在终端里输入export 后面加要设的变量,例如QT:

Export QTDIR=$PWD/qt-2.3.2

其中,pwd是用来显当前路径的命令,在其前面加上$,则表示QT的目标目录在当前目录下的“qt-2.3.2”里,当然“$PWD”也可以用绝对路径来代替。这种方法所设的环境变量在下次开机后不再有效,而且换个shell也不会有效,只是临时的。

(2)在etc/profile里添加环境变量,比如:

export QTDIR=/usr

   export LD_LIBRARY_PATH=$QTDIR/lib

   export QT_QWS_FONTDIR=$QTDIR/lib/fonts

   export QWS_DISPLAY="LinuxFb:/dev/fb0"

(3)修改.bashrc, 如果需要给某个用户权限使用这些环境变量,只需修改其个人用户家目录下的.bashrc文件就可以了。

(4)用以上面两种方法设置好环境变量后记得重启

以上使用QT为例

首先我需要的开发工具Qt Creator 先从终端单独下载:

sudo apt-get install qt4-dev-tools

之后安装QT CREATOR 编译器:

sudo apt-get install qtcreator

之后继续安装编译环境:

sudo apt-get install gcc

sudo apt-get install xterm

sudo apt-get install git-core

sudo apt-get install subversion

该版本基于Qt Creator 2.5 with Qt 4.8.1 32 bit

存在问题:没有工具链。

我们只能编译远程嵌入式设备,这不是这里的情况,因为我们是PI,而不是远程访问它。

我添加了一个gcc工具链

工具/选项>构建和运行>标签工具链>按钮添加 选择GCC

然后设置编译器路径:/usr/bin/arm - linux - gnueabihf - gcc - 4.6

调试器:/usr/bin/gdb

Mkspec:默认

Qt Creator似乎发现我们将部署在一个遥远的目标。

为了解决这个问题:

去帮助>菜单插件

取消设备支持远程linux >

重启Qt的创造者

去工具>选项选项卡>>构建和运行>Qt版本添加“/ usr / bin / qmake-qt4”

然后,它将显示为一个桌面项目在项目向导,而不是嵌入。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/bake/11765954.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-05-18
下一篇 2023-05-18

发表评论

登录后才能评论

评论列表(0条)

保存