在不设置环境变量的情况下使用gcc?

在不设置环境变量的情况下使用gcc?,gcc,environment-variables,Gcc,Environment Variables,我需要一个信息。是否可以在不设置环境变量的情况下使用gcc?解释原因很复杂,但基本上我必须想出一个方法来做到这一点。我已经安装了所有东西,我只想通过二进制文件使用gcc 有办法吗 原因是我有两个不同版本的gcc,这是我通常用于编译等的版本。另一方面,我必须开发两个脚本,用另一个版本编译C源代码,我不想弄乱环境变量。您可以在命令中指定您的gcc编译器 CC=/usr/bin/gcc-4.4 CXX=/usr/bin/g++-4.4 make 如果使用cmake,请使用下一个cmake参数 cma

我需要一个信息。是否可以在不设置环境变量的情况下使用gcc?解释原因很复杂,但基本上我必须想出一个方法来做到这一点。我已经安装了所有东西,我只想通过二进制文件使用gcc

有办法吗


原因是我有两个不同版本的gcc,这是我通常用于编译等的版本。另一方面,我必须开发两个脚本,用另一个版本编译C源代码,我不想弄乱环境变量。

您可以在命令中指定您的gcc编译器

CC=/usr/bin/gcc-4.4 CXX=/usr/bin/g++-4.4 make
如果使用cmake,请使用下一个cmake参数

cmake -DCMAKE_C_COMPILER=/usr/bin/gcc-4.4 -DCMAKE_CXX_COMPILER=/usr/bin/g++-4.4 .

LD_LIBRARY_PATH向应用程序显示应用程序可以在其中找到链接的共享对象,制作时不需要LD_LIBRARY_PATH

您可以在命令中指定gcc编译器

CC=/usr/bin/gcc-4.4 CXX=/usr/bin/g++-4.4 make
如果使用cmake,请使用下一个cmake参数

cmake -DCMAKE_C_COMPILER=/usr/bin/gcc-4.4 -DCMAKE_CXX_COMPILER=/usr/bin/g++-4.4 .


LD_LIBRARY_PATH向应用程序显示应用程序可以在哪里找到链接的共享对象,LD_LIBRARY_PATH不需要用于制作

不确定您为什么担心环境变量。如果您想使用不同的版本,请直接使用其完整路径,例如:
/usr/local/bin/gcc
(或任何路径)?LD_LIBRARY_路径与我有关,如果版本不同,变量本身应该不同?或者至少该变量所指向的路径的内容应该不同。否?为什么要使用LD_LIBRARY_PATH?当然,可以在不设置环境变量的情况下使用GCC,这是正常的方法!如果你的问题真的是关于运行程序(而不是使用GCC),那么你可能会发现它和它链接到的文档很有用。不确定你为什么担心环境变量。如果您想使用不同的版本,请直接使用其完整路径,例如:
/usr/local/bin/gcc
(或任何路径)?LD_LIBRARY_路径与我有关,如果版本不同,变量本身应该不同?或者至少该变量所指向的路径的内容应该不同。否?为什么要使用LD_LIBRARY_PATH?当然,可以在不设置环境变量的情况下使用GCC,这是正常的方法!如果您的问题是关于运行程序(不使用GCC),那么您可能会发现它及其链接到的文档很有用。您的第一个命令与makefile的使用有关,是吗?因此,LD_LIBRARY_路径与编译路径之间没有关系。在程序运行时,需要LD_LIBRARY_路径。编译或链接期间不需要它(当然,GCC知道如何找到自己的库)。。。因此,当我直接使用二进制文件进行编译时,编译的结果独立于LD_LIBRARY_路径,否?是,第一个命令将使用makefile for make如果你想直接使用gcc进行编译,那么使用所需gcc二进制文件的完整路径是,编译结果独立于LD_LIBRARY_path您的第一个命令与makefile的使用有关,是吗?因此,LD_LIBRARY_路径与编译路径之间没有关系。在程序运行时,需要LD_LIBRARY_路径。编译或链接期间不需要它(当然,GCC知道如何找到自己的库)。。。因此,当我直接使用二进制文件进行编译时,编译结果独立于LD_库路径,否?是的,第一个命令将使用makefile for make如果您想直接使用gcc进行编译,那么使用所需gcc二进制文件的完整路径是的,编译结果独立于LD_库路径