不能运行 SDL2 双击可执行
Can't run SDL2 executable by double-click
你好:)
目前正在学习SDL2,用它做了几个程序。
使用这些程序,当我双击可执行文件时,程序启动,一切正常。
在我制作的最后一个程序中,它不再起作用了。有了这个,我只能从终端启动。
exe 有权限,所以没有理由发生这种情况...
我唯一改变的是我使用的旧通用函数文件(对于 "loadTextureFromImage()"... 之类的东西)到我创建的动态库。这是整个项目的 link(目前只是白色的 window)-> RightHere。
我现在 运行宁 Ubuntu 14.04.
如果您知道为什么它不适用于这个项目,请告诉我!
提前致谢;)
PS :这是一个实际有效的项目 -> RightHere
PS2 : 项目在 c
好的,所以我做了 ldd ./myprog
,库 linked 是我放置它们的地方,在“${HOME}/lib”中。如果我没看错,你是在告诉我,因为这些库不在“/usr/lib 等等...”中,所以找不到它们,我应该写一个脚本。有一点我忘了告诉你:我必须在我的 .bashrc -> export LD_LIBRARY_PATH=${HOME}/lib
中添加一个环境变量,以便在编译时找到这些库。因为你所说的,我认为这个变量只在终端中加载,不是吗?所以我尝试了两个脚本:
#!/bin/bash
LD_LIBRARY_PATH=$PWD
./myprog
(如您所说)和
#!/bin/bash
LD_LIBRARY_PATH=${HOME}/lib
./myprog
(就像我在 .bashrc 中所做的那样)。
当我 运行 通过双击它们时,两者都不起作用。
但是,当我从终端 运行 它们时,只有第二个有效。
感谢您的回答,希望对您有所帮助...
编辑:我确认 .bashrc 中设置的变量只加载到终端中:我测试了这个脚本 ->
#!/bin/bash
echo $LD_LIBRARY_PATH > Run.log
LD_LIBRARY_PATH=${HOME}/lib
echo $LD_LIBRARY_PATH >> Run.log
./Pong
并且,当我从终端 运行 它时,Run.log 包含这个:
/home/yohan/lib
/home/yohan/lib
,
但是,当我运行双击它时,它只包含
*newline*
/home/yohan/lib
Add export before your variable setting. – keltar
好的,非常感谢,现在可以使用这个脚本了:
#!/bin/bash
export LD_LIBRARY_PATH=${HOME}/lib
./myprog
你好:)
目前正在学习SDL2,用它做了几个程序。 使用这些程序,当我双击可执行文件时,程序启动,一切正常。 在我制作的最后一个程序中,它不再起作用了。有了这个,我只能从终端启动。 exe 有权限,所以没有理由发生这种情况...
我唯一改变的是我使用的旧通用函数文件(对于 "loadTextureFromImage()"... 之类的东西)到我创建的动态库。这是整个项目的 link(目前只是白色的 window)-> RightHere。
我现在 运行宁 Ubuntu 14.04.
如果您知道为什么它不适用于这个项目,请告诉我!
提前致谢;)
PS :这是一个实际有效的项目 -> RightHere
PS2 : 项目在 c
好的,所以我做了 ldd ./myprog
,库 linked 是我放置它们的地方,在“${HOME}/lib”中。如果我没看错,你是在告诉我,因为这些库不在“/usr/lib 等等...”中,所以找不到它们,我应该写一个脚本。有一点我忘了告诉你:我必须在我的 .bashrc -> export LD_LIBRARY_PATH=${HOME}/lib
中添加一个环境变量,以便在编译时找到这些库。因为你所说的,我认为这个变量只在终端中加载,不是吗?所以我尝试了两个脚本:
#!/bin/bash
LD_LIBRARY_PATH=$PWD
./myprog
(如您所说)和
#!/bin/bash
LD_LIBRARY_PATH=${HOME}/lib
./myprog
(就像我在 .bashrc 中所做的那样)。
当我 运行 通过双击它们时,两者都不起作用。 但是,当我从终端 运行 它们时,只有第二个有效。
感谢您的回答,希望对您有所帮助...
编辑:我确认 .bashrc 中设置的变量只加载到终端中:我测试了这个脚本 ->
#!/bin/bash
echo $LD_LIBRARY_PATH > Run.log
LD_LIBRARY_PATH=${HOME}/lib
echo $LD_LIBRARY_PATH >> Run.log
./Pong
并且,当我从终端 运行 它时,Run.log 包含这个:
/home/yohan/lib
/home/yohan/lib
,
但是,当我运行双击它时,它只包含
*newline*
/home/yohan/lib
Add export before your variable setting. – keltar
好的,非常感谢,现在可以使用这个脚本了:
#!/bin/bash
export LD_LIBRARY_PATH=${HOME}/lib
./myprog