2011-02-03 84 views
2

在Windows XP上启动C并开发...我包含的库(如果是私人的)必须位于某个目录中吗?或者将计算机的内容编入索引以找到它们?关于C库的新手问题

感谢

回答

5

它们可以在任何目录下,并且不会被索引。您可以将“包含目录”列表传递给您的编译器,它将在这些目录中搜索标题。同样,您可以将“库目录”列表传递给您的链接器,其中.lib文件将被搜索。如何将这些参数传递给编译器或链接器的具体细节取决于您使用的编译器或IDE。

+0

感谢并查找了DevC++指令 – tekknolagi 2011-02-03 03:45:24

3

简短的回答是,你可以只需将库(即DLL文件,我相信)在同一目录下的可执行文件,他们将被发现。

长的答案确实要长得多,但现在只要知道上面的内容就可以逃脱!

0

它们可以位于任何你想要的目录中,链接器只需要知道在创建可执行文件的位置。如果您使用的是像gcc这样的命令行编译器,则可以使用“-L {目录}”和“-l {库文件名}”等选项来指定要在编译中包含哪些库。这可能因每个编译器而异,因此您必须查看每个编译器的manpages/help(但这很常见)。

0

通常几乎没有任何关于第三方(或个人)库是由C编译器工具链自动找到的。

根据您的工具链,您需要执行一些配置,以便编译器能够找到库的头文件,以及链接器的一些配置来定位库。

如果程序是通过静态链接库来构建的,那么在运行时通常不需要做任何特殊的事情来定位库(因为它们是可执行文件的一部分)。如果这些库是动态链接的,那么您需要确保库在运行时位于适当的位置(这可能与确保它位于同一目录中一样简单)。

不幸的是,每个编译器都有自己的执行此配置的方法(根据是否使用IDE,这也可能会有所不同),因此详细信息将取决于您感兴趣的具体编译器。