我已经为Linux启动了一个C++ SFML项目。我想知道.so应该去哪里。
他们是否应该进入项目文件夹,以便用户在获得程序后就可以简单地运行该程序?还是用户在运行我的程序之前应该在该Linux系统上安装SFML库?
最佳答案
即使您确实包含了.so
文件,也无法保证用户将能够运行它(不同的体系结构,针对不同的libc链接的库等)。要么静态链接,要么更好,只是让他们自己提供支持库。
@Joel J. Adamson使用autoconf
的答案是一个好主意。 SFML没有pkg-config
文件,因此您将按以下方式检查SFML:
dnl Checking for a C++ compiler
AC_PROG_CXX
dnl Checking C++ features. This tells configure to use the C++ compiler for checks.
AC_LANG_PUSH([C++])
dnl Check for a SFML header.
AC_CHECK_HEADER([SFML/Config.hpp], [], [AC_MSG_ERROR([SFML headers not found.])])
AC_LANG_POP([C++])
由于名称修改等原因,检查库要困难一些。如果您想更全面,Tyler McHenry在这一部分写了一个good article。
关于c++ - 项目的图书馆位置,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/3754853/