草庐IT

Dynamic-link_library

全部标签

c++ - (Swig to python)导入错误:dynamic module does not define init function

我正在尝试通过swig将我的C++代码移植到Python。当我完成py、pyd、cxx和lib文件的构建时,在Python(命令行)下,我键入“模块Dnld”,它显示->导入错误:动态模块未定义初始化函数。以下是我的代码,进一步:添加我的构建步骤以避免误解,谢谢MarkTolonen文件->新建->项目->Windows控制台应用程序->选择DLL和空项目(无unicode)将我的SerialComm文件夹添加到项目中(包括DownloaderEngine.hSerial.hPortEnumerator.h等)。配置属性->c/c++->附加包含目录->C:\Python27\incl

c++ - 定义 BOOST_TEST_DYN_LINK 会导致应用程序在 Visual Studio 中崩溃

在boost单元测试文档中,它明确指出您需要定义BOOST_TEST_DYN_LINK为了与boost单元测试库链接。我正在使用这个基本示例:#defineBOOST_TEST_DYN_LINK#defineBOOST_TEST_MODULEtest_module1//Thisheaderisforthedynamiclibrary,nottheheaderonlyone#includeBOOST_AUTO_TEST_CASE(test1){BOOST_CHECK(true);}我已将boost添加到我的包含/库路径并且代码编译正常,但是当我使用VisualStudio编译boost单

c++ - dynamic_cast 不适用于非多态类型的原因

对于类B和派生类D:classB{intb;};classD:publicB{intd;};D*d=newD();B*b=dynamic_cast(d);上面的代码可以正常工作——这是一个简单的向上转换。我们确信无论b指向什么,它都有B类(子)对象。但是,B*b=newD();D*d=dynamic_cast(b);不会编译,即使b指向一个有效的D实例——因为基类不是多态的。所以只添加一个空虚方法就可以解决问题。重要的问题是为什么C++要求源类型是多态的?我找到的唯一解释是this,但它只是说“因为这就是它在内部实现的方式”——至少在我看来是这样)。设计dynamic_cast的人可能

c++ - Link Error : xxx is already defined in *****.LIB::究竟是什么错误?

问题:我正在尝试使用名为DCMTK的库它使用了一些其他外部库(zlib、libtiff、libpng、libxml2、libiconv)。我从同一网站下载了这些外部库(*.LIB和*.h文件)。现在,当我编译DCMTK库时,出现如下链接错误(793错误):Error2errorLNK2005:__encode_pointeralreadydefinedinMSVCRTD.lib(MSVCR90D.dll)LIBCMTD.libdcmmkdirError3errorLNK2005:__decode_pointeralreadydefinedinMSVCRTD.lib(MSVCR90D.d

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++ - 从字符串设置 boost dynamic_bitset

Dynamicbitset我有一个需要填充的用例boost::dynamic_bitset,fromastd::stringbuffer.你能建议如何去做吗?所以我需要想出一个函数voidpopulateBitSet(std::string&buffer,boost::dynamic_bitset&bitMap){//populatebitMapfromastringbuffer} 最佳答案 如果你有这样的二进制数据:stringbuffer="0101001111011";您想像这样初始化它(原来有一个constructor可以处

c++ - dynamic_cast 中的模糊转换

考虑获取对象作为参数并打印其类型的问题:#includeclassA{};classB:publicA{};classC:publicA{};classD:publicC,publicB{};usingnamespacestd;templatevoidprint_type(T*info){if(dynamic_cast(info))cout(info))cout(info))cout(info))cout它给我以下错误:“从派生类‘D’到基类的转换不明确。”但是我没看出歧义在哪里:如果main(d)中声明的对象是D类型,为什么不能直接转换为A类型呢?此外,如果我传递一个字符串类型的参数

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

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

c++ - 将 dynamic_cast 与模板一起使用

在用C++实现基于模板的工厂时,我创建了以下allocator函数来实例化给定的子类:templateParentClass*allocator(){ChildClass*child=newChildClass();ParentClass*parent=dynamic_cast(child);if(NULL==parent){deletechild;returnNULL;}returnparent;}一切正常,但是当通过静态代码分析工具(如coverity)运行代码时,deletechild;行被标记为逻辑死代码。我进行运行时检查的原因是为了断言,ChildClass是从ParentC