文档章节

boost静态链接库和c++/clr不兼容问题:未能加载文件或程序集,不是有效的Win32应用程序。

lanybass
 lanybass
发布于 2016/07/13 18:52
字数 355
阅读 33
收藏 1

转自:http://blog.csdn.net/h807892124/article/details/51326552

项目上遇到的问题:c++编写的类使用托管c++包装成dll提供给c#项目使用。c++需要使用boost,clr,项目目标平台都是win32/x86。开发环境win10 x64系统,vs2013,.Net Framework 4.0,boost 1.55。

【问题表现】c#程序在win10 x86/x64正常运行,但在win7 x86/x64运行时发生异常:
Additional information: Could not load file or assembly “LicenseClientDLL_D.dll” or one of its dependencies. is not a valid Win32 application. (Exception from HRESULT:0x800700C1)
这里写图片描述

【原因】boost库默认使用静态链接方式,但boost静态链接库和C++/clr不兼容,所以要换成动态链接。
stackoverflow上相关资料:
[引用]Too many comments in the net saying boost static libs and CLR are not compatible.
[引用]It was the boost libraries having some issue when compiled without /clr but linked to a program that uses /clr

【解决方案】c++使用boost动态链接库。
1.在需要使用boost库的项目的“预处理器定义”增加 BOOST_THREAD_DYN_LINK (要求动态链接boost库)
2.手动拷贝需要引用的boost库文件到项目路径 libboost、boost开头的lib文件(BOOST_LIB_DIAGNOSTIC 该宏可以查看需要的boost库)
3.重新编译

本文转载自:http://blog.csdn.net/h807892124/article/details/51326552

共有 人打赏支持
lanybass

lanybass

粉丝 86
博文 45
码字总数 15052
作品 0
渝中
技术主管
私信 提问
vc++windows编程技术(2)

2.1结构概貌 visual c++中集成了Microsoft公司为c++编写的类库,取名为MFC。visual studio。net IDE 以。net framework为基础。 支持跨语言集成是。net的一大特色。在.NET中,代码分为manag...

mli
2014/10/23
0
0
Boost库的命名规则

本博客(http://blog.csdn.net/livelylittlefish )贴出作 者(三二一@小鱼)相关研究、学习内容所做的笔记,欢迎广大朋友指正! Boost库的命名规则 例如: Win32平台 libboost_filesystem-...

晨曦之光
2012/03/09
502
0
C++ 类库资源

原文:C++ 类库资源 作者:Breaker C/C++ 开发库 | C/C++ Development Library 这里收集一些著名的 C/C++ 开发库、SDK、类库、可复用类与结构代码 等信息,列举它们的介绍、参考和网站链接,...

晨曦之光
2012/05/23
1K
0
如何在dll中添加资源

文章转载自http://blog.csdn.net/na_he/article/details/2451822 在DLL中使用资源 现在最常看见的关于DLL的问题 就是如何在DLL中使用对话框,这是一个很普遍的关于如何在DL L中使用资源的...

长平狐
2012/10/08
845
0
warning C4273: ****.dll链接不一致

方法1: 选择项目->属性->预处理器->预处理定义, 增加:HYCOMMONWINAPIEXPORTS 方法2: 就是在 #ifdef HYCOMMONWINAPIEXPORTS #define HYCOMMONWINAPIAPI declspec(dllexport) #else #define H......

我是一只鱼
2011/12/02
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Pure-ftpd搭建FTP

12月11日任务 15.4 xshell使用xftp传输文件 15.5 使用pure-ftpd搭建ftp服务 使用pure-ftpd搭建FTP服务 轻量的ftp软件 安装pure-ftpd并修改配置文件 # pure-ftpd为epel扩展库里的软件[root...

robertt15
17分钟前
2
0
开源 serverless 产品原理剖析(二) - Fission

背景 本文是开源 serverless 产品原理剖析系列文章的第二篇,关于 serverless 背景知识的介绍可参考文章开源 serverless 产品原理剖析(一) - Kubeless,这里不再赘述。 Fission 简介 Fiss...

阿里云官方博客
23分钟前
2
0
Android面试整理(附答案)

面试,无非都是问上面这些问题(挺多的 - -!),聘请中高级的安卓开发会往深的去问,并且会问一延伸二。以下我先提出几点重点,是面试官基本必问的问题,请一定要去了解! 基础知识 – 四大组...

终端研发部
28分钟前
3
0
Vue 改变数组触发视图更新

Vue 改变数组触发视图更新 以下方法调用会改变原始数组 push(), pop(), shift(), unshift(), splice(), sort(), reverse()push()push() 方法可向数组的末尾添加一个或多个元素,并返回新的...

不负好时光
33分钟前
2
0
计算机系统要素 C5

本章值得一提的是组织计算机的结构。Hack 的指令和数据是分开存储的,因此它的 CPU 有两个 input: IN inM[16], // M value input (M = contents of RAM[A]) instruction[16],...

lionets
50分钟前
3
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部