在 Eclipse 中运行时将共享库项目的 dll 文件添加到可执行项目路径



我正在使用Windows 7下的C/C 使用Eclipse Juno。我已经在可执行项目中添加了共享库项目作为参考:

可执行项目的属性 -> c/c 常规 ->路径和符号 ->参考 ->检查共享库项目

所有这些在编译时间都很好,我可以在可执行项目中包括我的共享库项目的类,并使用它等。

但是,当我尝试在Eclipse中运行可执行项目时,我什么也没得到。没有错误,没有控制台输出。谷歌搜索后,我在这里发现了一个类似的问题:

http://www.eclipse.org/forums/index.php/m/650331/

显然,如上所述,将共享库项目添加到Eclipse的可执行项目中,也没有将DLL文件添加到Eclipse内部运行时的可执行文件(.EXE)文件的路径中。作为与Eclipse的Java的类比:如果您有一个Java Jar项目A和另一个Java Jar Project B,则通过将B从B到A In Eclipse中的参考,B的编译JAR文件将在运行Insies eclipse时添加到A的类路径中。我认为对于C/C 的Eclipse会相似,但显然不是。

肯定,如果我手动获取.exe文件和.dll文件,请将它们放在同一文件夹中并运行.exe,一切正常。另外,如果我将.dll文件复制到Eclipse的汇编目录中,则可以从Eclipse运行可执行项目,还可以。

我的问题是,当我告诉它告诉运行可执行项目时,有没有办法将Eclipse添加到运行时间中的共享库项目的DLL文件?我链接到上面的帖子中讨论的解决方案是将碎片库项目的编译目录手动添加到Eclipse的可执行项目的运行配置中,即,将其添加到其中的路径变量中。但是我发现这个笨拙而不是便携式,如果Eclipse正在管理两个项目,则应该能够将所有必要时间传递给运行时间。

好吧,我已经在运行时使用了"库"项目的手册添加到可授权的项目的路径中。我确实找到了一种方法,使其更便携,并且项目位置中性(即,如果将两个项目的源文件夹移至另一台机器,然后在Eclipse中重新打开它们,它仍然应该起作用):

  1. 右键单击可执行项目 ->运行为... ->运行配置

  2. 在"环境"选项卡中单击"新..."以添加一个新的环境变量

  3. 命名您的变量"路径",并给它一个类似的值:

    $ {env_var:path}; $ {workspace_loc:/cppastar/debug}

其中:

  • $ {env_var:path}是Eclipse说的"获取Eclipse中声明的路径环境变量已经存在的值"的方式"

  • ";"是要将exisitng路径条目与我们要添加的新的路径条目分开

  • $ {workspace_loc:/cppastar/debug}这告诉eclipse获取名为cppastar的工作空间项目的位置(这里cppastar是我的共享库项目),然后"/debug"是指这个特定项目的位置构建.dll文件时创建。

我不知道的问题:

  • "运行配置"中的"环境"选项卡具有一个名为"本机环境附录环境"的选项。我认为,通过检查此信息,我只需要在我在此处声明的路径变量中添加.dll dir的位置,它将被附加到现有路径上。但是,我没有设法进行这项工作,因此在附加新值之前,手动重新添加了所有现有路径

不幸的是,该解决方案对调试配置不起作用。请参阅BUG 338420 -Launch配置的环境选项卡变量未传递给GDB进程本身。

有没有办法解决此问题进行调试?我的意思是除了做后构建步骤之外,例如:

cmd/c复制" $ {buildartifactfileprefix} $ {buildArtifactFileName}" $ {workspacedirpath} bin bin "

最新更新