了解标志设置
Understand flag setting
我正在尝试安装 BerkeleyDB STL。
我运行下面代码下载n安装一样
curl -OL http://download.oracle.com/berkeley-db/db-6.2.23.NC.tar.gz
tar xf db-6.2.23.NC.tar.gz
cd db-6.2.23.NC/build_unix
../dist/configure --prefix=$HOME --enable-stl
make
make install
然后为了进一步安装我的应用程序,我需要告诉 R BerkeleyDB STL 在哪里,我按照手册中的说明做了:
CPPFLAGS=-I${HOME}/include
LDFLAGS=-L${HOME}/lib -Wl,-rpath=${HOME}/lib
但是在 运行 第二个命令时出现以下错误:
bash: -Wl,-rpath=/home/mayankmodi/lib: No such file or directory
即使目录结构是
.
├── bin
├── env
├── include
├── lib
└── Videos
*I have deleted most of my folders to make it easy to spot lib directory
问题:我需要理解
的含义
LDFLAGS=-L${HOME}/lib -Wl,-rpath=${HOME}/lib
行
LDFLAGS=-L${HOME}/lib -Wl,-rpath=${HOME}/lib
随着 HOME
变量展开,变为
LDFLAGS=-L/home/mayankmodi/lib -Wl,-rpath=/home/mayankmodi/lib [rest of actual command]
这被解释为接近
EnvironmentVariable=Value command line ...
即Bash 将文本 -Wl,-rpath=/home/mayankmodi/lib
解释为命令的开头或可执行文件的路径,并尝试使用环境变量设置 LDFLAGS=-L/home/mayankmodi/lib
运行 它,但失败了,因为没有这样的命令或程序。
要解决此问题,您可以将要提供给 LDFLAGS
的值用双引号引起来:
LDFLAGS="-L${HOME}/lib -Wl,-rpath=${HOME}/lib"
以便 LDFLAGS
扩展到所需的文本。
我正在尝试安装 BerkeleyDB STL。 我运行下面代码下载n安装一样
curl -OL http://download.oracle.com/berkeley-db/db-6.2.23.NC.tar.gz
tar xf db-6.2.23.NC.tar.gz
cd db-6.2.23.NC/build_unix
../dist/configure --prefix=$HOME --enable-stl
make
make install
然后为了进一步安装我的应用程序,我需要告诉 R BerkeleyDB STL 在哪里,我按照手册中的说明做了:
CPPFLAGS=-I${HOME}/include
LDFLAGS=-L${HOME}/lib -Wl,-rpath=${HOME}/lib
但是在 运行 第二个命令时出现以下错误:
bash: -Wl,-rpath=/home/mayankmodi/lib: No such file or directory
即使目录结构是
.
├── bin
├── env
├── include
├── lib
└── Videos
*I have deleted most of my folders to make it easy to spot lib directory
问题:我需要理解
的含义LDFLAGS=-L${HOME}/lib -Wl,-rpath=${HOME}/lib
行
LDFLAGS=-L${HOME}/lib -Wl,-rpath=${HOME}/lib
随着 HOME
变量展开,变为
LDFLAGS=-L/home/mayankmodi/lib -Wl,-rpath=/home/mayankmodi/lib [rest of actual command]
这被解释为接近
EnvironmentVariable=Value command line ...
即Bash 将文本 -Wl,-rpath=/home/mayankmodi/lib
解释为命令的开头或可执行文件的路径,并尝试使用环境变量设置 LDFLAGS=-L/home/mayankmodi/lib
运行 它,但失败了,因为没有这样的命令或程序。
要解决此问题,您可以将要提供给 LDFLAGS
的值用双引号引起来:
LDFLAGS="-L${HOME}/lib -Wl,-rpath=${HOME}/lib"
以便 LDFLAGS
扩展到所需的文本。