所以我最近厌倦了Windows并安装了Linux Mint。我正在尝试在Code :: Blocks中构建一个项目。我已经安装了Code :: Blocks但我需要glew(以及其他一些库)。我在软件管理器中找到它并安装它。我设法找到并包含头文件。但我觉得下一步应该是相对简单的,并且在整个互联网上,但(可能由于缺乏适当的术语)我一直无法找到答案。
我是否需要在我的系统上找到文件并手动链接到每个库?这就是我在Windows上所做的,但我刚刚下载了二进制文件并知道它们在哪里。我从软件管理器中找到了一个库,并手动链接到它,但感觉就像我做错了。既然它已经“安装”在系统上,那么有一些快速的链接方法吗?
答案 0 :(得分:3)
你应该为链接器'-l'和'-L'使用两个标志。您可以在项目属性中的某处设置这些标志。
第一个'-l'告诉链接器链接特定的库。例如glew,可能在/ usr / lib中是一个名为libglew.so的文件,当你用“-lglew”标志链接你的程序时,它会将它与glew库链接。链接器在几个标准位置查找库:/ usr / lib,/ usr / local / lib和一些额外的。如果你的libs在非标准位置,请使用'-L'标志指向这些目录。
许多Linux发行版提供了两种带有库的包,只有运行时的常规包,以及带有头文件和库的开发版本的开发包(通常带有dev或devel的前缀或后缀)。
答案 1 :(得分:1)
使用构建系统,卢克! 在* nix世界中开发/构建软件的典型方法是3个步骤:
scons
或者疯狂(b)果酱... make
所有在配置阶段使用测试脚本(不用担心它们有很多用于各种用例)你可以找到所有必需的头文件/库/程序/编译器选项/你需要编译你的包... ... :不要在Makefile中使用硬编码路径(或用于make
二进制文件的任何内容)
答案 2 :(得分:0)
回答这个问题实际上取决于你想要达到的目标。如果您只想自己构建应用程序,那么您只需在makefile或代码编辑器设置中编写库的路径即可。您可能甚至不必这样做,就像您的Linux分发包管理器安装的库,标头通常转到/ usr / include和库到/ usr / lib或/ urs / lib64等。这些位置是标准的,您不需要明确指定它们。无论如何,您需要指定要链接到的库。 如果您想创建可由其他人构建的应用程序,或者您在许多不同的配置/环境中使用cmake之类的内容创建应用程序将非常有用。