3

使用 Eclipse CDT,我正在尝试将单个库 (.lib) 文件链接到我的项目中。

Eclipse 设置

在编译过程中,由于文件路径中有空格字符,导致路径被空格分割,导致找不到文件,导致编译无法成功执行。此执行字符串由 Eclipse 生成。

g++ -static-libgcc -static-libstdc++ -o "Test.exe" "src\\Test.o" -lC:/Program Files/Java/jdk1.7.0_15/lib/jvm.lib 
g++: error: Files/Java/jdk1.7.0_15/lib/jvm.lib: No such file or directory

总体而言,它在构建用于编译的库选项时遇到了麻烦:

-lC:/Program Files/Java/jdk1.7.0_15/lib/jvm.lib

我已经尝试将路径用引号括起来并将路径的目录添加为库路径,但-l在这两种情况下该选项都是错误的。

如何成功地将路径中带有空格的库添加到 Eclipse CDT 中?

4

1 回答 1

2
  1. 您应该用 qoutes 将包含空格的路径括起来。

  2. jvm您可能应该在Libraries 选项卡中仅指定库名称(即) 。然后"C:/Program Files/Java/jdk1.7.0_15/lib"Library Paths选项卡中指定。

关键是这"-lC:/Program Files/Java/jdk1.7.0_15/lib/jvm.lib" 有效的选项格式,因为命令解释器会将其视为单个选项,但会删除引号。

因此,当您输入g++ "-lC:/Program Files/Java/jdk1.7.0_15/lib/jvm.lib"cmd 时,传递给 g++ 的参数将-lC:/Program Files/Java/jdk1.7.0_15/lib/jvm.lib不带引号。

但是,它本身-l<path-to-library-file>是无效的选项gcc。您可以使用 g++ <path-to-library-file>g++ -L<path-to-library-dir> -l<library-name>

所以,有效的选择是

g++ <..> "src\\Test.o" "-LC:/Program Files/Java/jdk1.7.0_15/lib" -ljvm
于 2013-05-09T21:35:24.700 回答