草庐IT

static-libraries

全部标签

c++ - "the procedure entry point _ZNSt8_detail15_List_node_base7_M_hookEPS0_ could not be located in the dynamic link library libstdc -6.dll."

有个小问题。我有C++代码,它链接到一些库。我以前有源代码的(原始)exe,它在第一台机器上运行完美。还有第二台机器,我在那里处理源代码,更改它,等等。在第二台机器上,该源代码的构建工作正常,当我复制second.exe并尝试在第一台机器上运行它时萌芽它显示错误信息"theprocedureentrypoint_ZNSt8_detail15_List_node_base7_M_hookEPS0_couldnotbelocatedinthedynamiclinklibrarylibstdc++-6.dll."有一件事,second.exe被复制到与original.exe相同的文件夹中,

c++ - QT CREATOR - 我把/NODEFAULTLIB 放在哪里 :library?

QT给出错误LNK4098:defaultlib'MSVCRTD'conflictswithuseofotherlibs;use/NODEFAULTLIB:libraryLNK4098:defaultlib'LIBCMT'conflictswithuseofotherlibs;use/NODEFAULTLIB:library我应该把/NODEFAULTLIB:library放在哪里? 最佳答案 有人在Qtforumsawhileback上发布了一些与您非常相关的问题.这听起来像是传递了一个additionaloptionsshoul

c++ - mingw下Qt 5静态编译失败引用off64_t

我尝试制作静态qt,但在mingw-make期间出错。这是错误文本。static\qhttpnetworkreply.oaccess\qhttpnetworkreply.cppInfileincludedfrom..\..\mkspecs\win32-g++/qplatformdefs.h:56:0,fromaccess\qhttpnetworkreply_p.h:55,fromaccess\qhttpnetworkreply.cpp:42:c:\mingw\include\io.h:301:14:error:'off64_t'doesnotnameatype__CRT_INLINEo

C++1y/C++14 : Converting static constexpr array to non-type template parameter pack?

假设我有一个静态存储持续时间的constexpr数组(已知范围):constexprTinput[]=/*...*/;我有一个需要打包的输出类模板:templatestructoutput_template;我想像这样实例化output_template:usingoutput=output_template;一种方法是:templatestructmake_output_template{templatestaticconstexproutput_templatef(std::index_sequence){return{};};usingtype=decltype(f(std::m

java - 在 Java 中使用 C++ 库

我是这个论坛的新手,所以如果我不能以正确的方式提出问题,请原谅。我需要有关在java中使用C++(.lib和.h)文件的帮助。我想在我的java代码中使用那个.lib文件的方法。函数原型(prototype)如下:FunctionXYZ(BYTE*Data1,BYTE*Data2,BYTE*Data3,intData4);我将使用的环境是centOS。提前致谢P.S:我没有这个.lib的源代码 最佳答案 要使用.lib中的函数,您必须创建JNIwrapperfunctions对于这些库函数,然后将它们与您的库一起链接到.dll中。示

c++ - 将 CUDA 添加到 ROS 包

我想在ros包中使用cuda。有人给我一个简单的例子吗?我试图用cuda函数构建一个静态库并将这个库添加到我的包中,但我总是得到一个链接错误:Undefinedreferencecuda...我已经构建了一个可执行文件而不是库并且它可以工作。请帮忙! 最佳答案 我自己找到了解决办法:CMakeLists.txt:cmake_minimum_required(VERSION2.8.3)PROJECT(beginner_tutorials)FIND_PACKAGE(CUDAREQUIRED)find_package(catkinREQU

c++ - 向上转换时的隐式转换与 static_cast

假设我有三个类:A(母亲,抽象),B和C,A的child。所以B和C继承自A(公有继承)。我有一个指向A的指针列表,我用B或C的指针填充它。问题是:在进行转换/转换时,哪种风格是首选?classA{};classB:publicA{};classC:publicA{};B*objB=newB();C*objC=newC();std::listmyList;//OptionA:staticcastconversionmyList.push_back(static_cast(objB));myList.push_back(static_cast(objC));//OptionB:impli

c++ - 应该用 typedef 触发 static_assert 吗?

我注意到当实例化为typedef时,类模板中的静态断言不会被触发。#includetemplatestructtest_assert{static_assert(std::is_same::value,"shouldfail");};typedeftest_assertt;这段代码编译没有错误。如果我尝试创建一个实例,则断言失败:tobj;//error:staticassertionfailed:"shouldfail"最后,如果我将条件替换为false,即使我不实例化类模板,断言也会失败:templatestructtest_assert{static_assert(false,"

c++ - 什么时候使用静态库需要头文件?

如果我在Linux中用C++创建静态库以生成“.a”文件,我(或其他任何人)如何使用该库?例如,我的库定义了一个类。我认为仅仅提供“.a”文件是不够的,还要提供头文件。我如何知道“.a”文件必须提供哪些头文件?例如,我是否需要提供包含在我的库代码中任何位置的所有头文件? 最佳答案 头文件为类和函数提供“声明”。编译器需要这些,因此它可以a)验证您是否传递了正确的参数,和/或设置类/结构的正确数据成员,以及b)因此它可以知道如何调用这些函数。voiddo_something(inta,std::string&s);告诉编译器这个函数需

c++ - 为什么 Boost Graph Library 的 `source()` 是一个全局函数?

我理解在泛型编程中,算法与容器是解耦的。因此,将泛型算法实现为实例方法是没有意义的(相同的算法应该适用于多个具体类;我们不想让它们都继承自一个ABC,因为这会以指数方式增加类的数量)。但在source()的情况下BoostGraphLibrary中的函数,我不明白为什么它是全局函数而不是图形类的实例方法。据我所知,我可以通过阅读BGLsourcecode来判断,source(e,g)需要知道传递给它的图和边对象的实现细节;仅仅知道它们的接口(interface)是不够的。所以source()不是通用算法。换句话说,它需要知道图形实例的具体类。那为什么不把它和实例方法放在同一个类中呢?与