【发布时间】:2014-06-29 03:52:00
【问题描述】:
我正在运行 OSX 10.9.2
我已经成功编译并运行了wiiuse 的示例程序。然而,这意味着用 CMake 制作一个 makefile,然后运行 make。不过,我对如何使用这个库编译我自己的程序感到困惑。作为第一步,我尝试自己重新编译示例程序。我创建了一个包含 example.c 和 wiiuse.h 的目录。当我跑步时
clang example.c -lwiiuse -o example
我明白了
ld: library not found for -lwiiuse
clang: error: linker command failed with exit code 1 (use -v to see invocation)
什么给了?为什么不能包含库?
【问题讨论】:
-
使用
make -n生成Makefile正在运行的确切命令。然后复制库参数,特别是LD_LIBRARY_PATH。 -
我对 make 正在做的事情有点困惑。 gist.github.com/anonymous/54c47db1948aa820d1e4你能解释一下如何使用LD_LIBRARY_PATH吗?
-
它似乎正在调用其他
make脚本。您应该按顺序运行这些命令以查看它们的作用。您还可以手动检查调用的脚本。 -
而那些make脚本调用其他make脚本,又调用其他脚本,又调用其他脚本。这有点荒谬。我真的不知道如何继续。
-
万岁!有效!非常感谢您的帮助! gcc example.c -lwiiuse -o example -L/Users/alex/Desktop/WiiUse/build/src/