草庐IT

Boost_USE_STATIC_LIB

全部标签

c++ - VS2015 没有链接 user32.lib

我刚刚继承了一个有10年历史的项目的维护工作,其中包括将其从VS2005移至VS2015。我大部分时间都在那里,但是当我链接时出现此错误:错误LNK2019:无法解析的外部符号__imp__MessageBoxA@16快速搜索发现这需要user32.lib。当我转到属性->链接器->附加依赖项时,我在继承值下看到该库列表,但它仍然没有链接。当我明确添加硬编码路径和文件名(C:\ProgramFiles(x86)\WindowsKits\8.1\Lib\winv6.3\um\x86\user32.lib)作为另一个依赖项时,它会成功链接...这没关系,我想,但如果没有别的,我依赖那个特定

windows - boost::random_device 的非 Linux 实现

目前,Boost只为Linux(也许是*nix)系统实现了random_device类。有谁知道其他操作系统的现有实现吗?理想情况下,这些实现将是开源的。如果不存在,我应该如何为Windows和MacOSX实现非确定性RNG?提供此功能的任一环境中是否存在API调用?谢谢(很抱歉提出所有问题)! 最佳答案 在MacOSX上,您可以使用/dev/random(因为它是*​​nix)。在Windows上,您可能需要CryptGenRandom函数。我不知道是否有使用它的boost::random_device的实现。

c++ - 如何使用 C++ 中的源代码扩展 .lib?

现在我的问题需要一个.lib并且我已经获取了该库的所有源代码,我怎样才能用它的源代码替换.lib依赖项以便我可以直接在源代码级别跟踪而不是反汇编吗? 最佳答案 如果您编译包含调试信息的.lib文件的源文件,那么您可以继续将.lib文件链接到您的可执行文件中,调试器将知道如何找到源文件。您目前可能正在使用一个没有调试信息的.lib文件,因此调试器将不支持该代码的源代码级调试。 关于c++-如何使用C++中的源代码扩展.lib?,我们在StackOverflow上找到一个类似的问题:

windows - Boost spirit : assertion fails under Windows but not Linux. 为什么?

[用完整的程序和版本更新替换代码]下面的代码在Windows下失败并显示以下消息(抱歉手动翻译自法语,我不知道如何强制VisualC++以英语工作)。这是在Windows下。它在Linux下工作。你可以编译Linux:gccLimaTokenizerParser.cpp-oLimaTokenizerPars-lboost_system-mt-lstdc++Windows(失败):clLimaTokenizerParser.cpp/Ic:\boost\path\include/EHsc我在Windows和Boost1.48下使用Boost1.50和VisualC++2010和Linux下

c++ - 开发-C++/TDM-GCC : Linkage Problems with Boost Libaries Downloaded from boost. 组织

我正在尝试在Dev-C++(tdm-gcc4.7.1)中使用regex。我已经从boost.org下载了Boost库并解压到C:\ProgramFiles(x86)\Dev-Cpp\boost并在Dev-C++中添加C:\ProgramFiles(x86)\Dev-Cpp\boost\libs去图书馆。包含路径(C/C++):C:\ProgramFiles(x86)\Dev-Cpp\boostmain.cpp:#includeusingnamespaceboost;intmain(){strings("sometxtPING:665454some_text");smatchmt;reg

python - 在 Windows 8.1 上安装 Boost Python,正确设置工具链

我正在尝试安装BoostPython,但是http://www.boost.org/doc/libs/1_55_0/libs/python/doc/tutorial/doc/html/python/hello.html对我来说太压缩了。我正在从Linux切换到Windows,设置所有技术性的东西让我抓狂:)所以当我按照说明操作时http://www.boost.org/doc/libs/1_55_0/more/getting_started/windows.html#prepare-to-use-a-boost-library-binary并尝试执行bootstrap.bat它提示缺少

windows - 错误 : cannot find D:/gstreamer-sdk/0. 10/x86/lib:权限被拒绝:Qt5

我正在Qt5.2.1中开发我的应用程序。在.pro文件中:LIBS+="D:/gstreamer-sdk/0.10/x86/lib"构建项目时出现错误:错误:找不到D://gstreamer-sdk//0.10//x86//lib:权限被拒绝错误:ld返回1退出状态我已经尝试以管理员身份运行到QtCreator并且还递归地授予了gstreamer-sdk目录的完全权限。但仍然面临同样的问题。我也谷歌了,但找不到任何解决方案。指引我正确的方向。提前致谢。 最佳答案 LIBS是一个库列表,而您添加的是一个目录。您需要指定库的名称,例如:

c++ - VS2010生成的.lib文件

使用任何C++VS2010解决方案,.lib有什么用?为什么不总是通过DLL将程序链接到库?在VS2010中构建程序是否是生成.lib的唯一方法? 最佳答案 与DLL建立链接的.lib文件被称为“导入库”,它确实是一个静态库(尽管是一种特殊的静态库)。它只是一个静态库,包含大量代码以在加载时导入DLL,换句话说,它充当您的代码和动态库之间的“中间人”。如果您创建一个“静态库”,您最终会得到一个很大的.lib文件,其中包含该库中函数的所有已编译代码。如果您随后使用该库创建可执行文件,则所有这些代码都会在链接时复制到可执行文件中。这会产

windows - 要使用静态库构建程序,libcurl.lib

我尝试使用静态库、libcurl.lib构建独立程序。但是我遇到了一堆错误。我曾经引用过stackoverflow和libcurl主页上的相关帖子,遗憾的是到目前为止是徒劳的。以下是我的构建过程和得到的错误信息。请评论。非常感谢,1.Buildcurlfromsourcecodenmake/fMakefile.vcmode=staticVC=14ENABLE_SSPI=noENABLE_IPV6=noENABLE_IDN=noGEN_PDB=noDEBUG=noMACHINE=x642.Buildmain.objCimXml.objCimCurl.objgetpass.obj"cl-I

windows - 从 Visual C++ 构建中删除未使用的 .lib 文件

link.exe是否有命令行参数、VisualStudio设置或其他技术来打印出哪些指定的库文件实际上不需要构建DLL或EXE?我正在尝试缩减一个项目文件(nativeC++),该文件包含几十个指定为依赖项的不必要的.lib文件。到目前为止,我只是“一次一个”地删除每个并重建。必须有更好的方法。而且我怀疑链接器会知道在输出二进制文件的链接中是否实际使用了一个库。 最佳答案 对LINK.EXE命令使用/VERBOSE:UNUSEDLIBS选项。https://msdn.microsoft.com/en-us/library/wdsk6