草庐IT

c++ - 将 header 添加到 CMake 中的库

我有很多看起来像这样的库:libs\lib1--src\-include\lib2--src\-include其中lib2需要lib1。我这样做的方法是做这样的事情:lib2/CMakeLists.txt:include../lib1/includetarget_link_libraries(lib2lib1)如何在lib2库中包含lib1头文件/包含文件?我目前正在尝试执行此操作,但在编译过程中出现lib2找不到lib1头文件的错误。libs/CMakeLists.txt:file(GLOBlib1_src"lib1/src/*.cc")#headerfilesfile(GLOBli

c++ - 包括来自/usr/local/include 的头文件和来自/usr/local/lib 的库

我刚刚在OSX10.9上安装了GLFW。header安装到/usr/local/include,库安装在/usr/local/lib。我想知道我还需要做些什么才能让我的C++程序包含像#include"GLFW/glfw3.h"这样的header,而不是像#这样指定整个路径包括“usr/local/include/GLFW/glfw3.h”。图书馆也是如此,因为到目前为止我什至无法使用-lglfw3链接图书馆。提前致谢。 最佳答案 您可以将-I/usr/local/include作为预处理器标志传递给编译器,将-L/usr/loca

Postgres安装目录中包含,共享,LIB目录和子目录和文件的功能是什么?

Postgres安装目录中包含,共享,LIB目录和子目录和文件的功能是什么?看答案这些文件是PostgreSQL软件的一部分。include包含所需的C标头文件编译使用C客户库库的客户端应用程序libpq和编译服务器扩展名为PostgreSQL。lib包含用于链接客户端应用程序的静态和动态库,是PostgreSQLServer的一部分的动态库和包含PostgreSQL扩展的动态库。share包含其他文件消息文件将PostgreSQL消息转换为各种语言,时区数据,配置文件用于全文搜索,配置文件的模板和扩展配置文件和脚本。

c++ - 核心转储的原因是什么?来自 oracle lib 的堆栈显示

我有一个coredmp,其中所有线程堆栈看起来都很正常,但一个堆栈显示如下。任何人都可以告诉我这可能的原因吗?我可以看到正在从oracle库调用exit,这是oracle的问题吗?当这种情况发生时,任何人都可以指导我吗?Thread3(process26454):#00x00002b803ceb54a8inexit()from/lib64/libc.so.6#10x00002b803bbe93f5inskgdbgcra()from/home/oracle/product/11g/lib/libclntsh.so.11.1#20x00002b803be9cdecinkpeDbgCrash

c++ - 将库 (.lib) 链接到 Visual Studio 2013 项目

我按照link的说明构建了库.为了将该库链接到VisualStudio,我使用了以下方法,但它们都不能链接到我构建的.lib文件。Windows系统变量添加动态库路径(Environmentvariables->Path)设置为;C:\Users\venushka\Desktop\libxbee3-win32\libVisualStudio(包含头文件和源文件C++)配置属性->C/C++->常规->附加包含目录设置为C:\Users\venushka\Desktop\libxbee3-win32链接库配置属性->链接器->常规->附加库目录设置为C:\Users\venushka\D

c++ - 链接到 Visual Studio 2010 中的静态库

要知道的事情:我非常确定我正在使用正确的静态库(包括dllexport和所有)生成的.lib文件非常大(3M、8M等)。共享的在300K-1M左右。所以我很确定.lib文件是静态的我想在单独的解决方案中链接到这些静态库文件这是一个非托管的C/C++项目我读到我需要使用新的UI(公共(public)属性>添加新引用等等)。但是为了让它起作用,我需要将整个项目添加到我的解决方案中。有没有办法将我的项目链接到静态库(不添加其源代码)。 最佳答案 “添加新引用”是一个.NET选项,用于添加程序集引用。您不能在.NET中创建静态链接库,程序集

.lib 中的 C++ 静态变量未初始化

我在VS2010中有静态库(.lib)并将其链接到我的测试项目。该库有一个我使用以下宏创建的工厂:#defineREGISTER_FACTORY(mType,my_class)\classFactory##my_class:publicCAbstractFactory\{\public:\Factory##my_class():CAbstractFactory(mType){}\CBaseClass*Create()\{returnnewmy_class();}\};\staticFactory##my_classStaticFactory##my_class;应该发生的是,在CAbs

c++ - 错误 LNK1104 : cannot open file 'Debug\MyProjectLib.lib'

我有以下CMakeLists.txt文件来生成我基于Qt的项目:cmake_minimum_required(VERSION2.8.12)project(MyProject)find_package(Qt5Widgets)set(MyProjectLib_src${PROJECT_SOURCE_DIR}/gui.cpp)set(MyProjectLib_hdr${PROJECT_SOURCE_DIR}/gui.h)set(MyProjectLib_ui${PROJECT_SOURCE_DIR}/gui.ui)set(MyProjectBin_src${PROJECT_SOURCE_DI

c++ - 编译器如何使用lib文件?

我很好奇c/c++编译器是如何分析lib文件的?我的意思是说我创建了一个包含一些类的库,我在我的主程序中使用了那个库。编译器如何知道该库中有哪些类名。当然,这些信息以二进制格式存在,我想在我的程序中使用该功能,具体来说,我有一个二进制lib文件,我想知道该lib文件中存在的所有类和属性/函数。这可能吗?如果编译器可以做到,为什么有些库不能?感谢任何线索 最佳答案 编译器不会执行您的建议,但链接器会执行。编译器从包含的与lib文件相关的头文件中知道它需要的信息。然后链接器将您要包含的声明和lib文件及其其他目标文件放在一起。例如,可能

c++ - 缺少有关 Boost 的详细信息(.lib 文件)

在使用某些Boost库时,我在哪里可以找到用于链接我的程序的lib文件?决定尝试它的线程功能,但我得到了Error6fatalerrorLNK1104:cannotopenfile'libboost_thread-vc90-mt-gd-1_42.lib'InterviewPractice在我包含之后Error6fatalerrorLNK1104:cannotopenfile'libboost_thread-vc90-mt-gd-1_42.lib'InterviewPractice我找不到在boost网站上正确链接的.lib文件的位置?有小费吗?:) 最佳答案