相关疑难解决方法(0)

检测到'RuntimeLibrary'的不匹配

我在C:\ cryptopp中下载并提取了Crypto ++.我使用Visual Studio Express 2012来构建内部的所有项目(按照自述文件中的说明),并且所有内容都已成功构建.然后我在其他文件夹中创建了一个测试项目,并添加了cryptolib作为依赖项.之后,我添加了包含路径,因此我可以轻松地包含所有标题.当我尝试编译时,我收到有关未解析符号的错误.

为了解决这个问题,我添加C:\cryptopp\Win32\Output\Debug\cryptlib.lib了链接其他依赖项.现在我收到这个错误:

Error   1   error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in program.obj    C:\Data\Work\C++ VS\CryptoTest\CryptoTest\cryptlib.lib(cryptlib.obj)    CryptoTest
Error   2   error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in program.obj    C:\Data\Work\C++ VS\CryptoTest\CryptoTest\cryptlib.lib(iterhash.obj)    CryptoTest
Error   3   error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' in program.obj    C:\Data\Work\C++ VS\CryptoTest\CryptoTest\cryptlib.lib(sha.obj) CryptoTest
Error   4   error LNK2038: mismatch detected for 'RuntimeLibrary': value 'MTd_StaticDebug' doesn't match value 'MDd_DynamicDebug' …
Run Code Online (Sandbox Code Playgroud)

c++ hash compilation sha256 crypto++

104
推荐指数
2
解决办法
10万
查看次数

创建简单的c ++ .net包装器.一步步

我有一个c ++项目.我承认我在c ++中是一个完整的零.但是我仍然需要编写一个c ++ .net包装器,这样我就可以使用非托管的c ++库.所以我有:1)非托管项目的头文件.2)非托管项目的库(.dll和.lib)3)一个空的C++ .NET项目,我打算用它作为我的c#应用程序的包装器

我怎么开始?我甚至不知道如何设置对非托管库的引用.

SOS

.net c# c++ dll wrapper

43
推荐指数
2
解决办法
8万
查看次数

包装C++以在C#中使用

好吧,基本上我要包装一个大的C++项目(Recast),以便我可以在我的C#项目中使用它.

我一直试图这样做一段时间,这就是我到目前为止所做的.我正在使用C++/CLI来包装我需要的类,以便我可以在C#中使用它们.

但是,我的C#项目中还需要大量的结构和枚举.那么如何包装这些呢?

我现在使用的基本方法是将dllexport调用添加到本机c ++代码,编译为dll/lib,将此lib添加到我的C++/CLI项目并导入c ++头文件,然后将CLI项目编译为dll,最后添加此dll作为我的C#项目的参考.我感谢任何帮助.

这里有一些代码.由于C++项目非常庞大,我需要可管理的方法.

//**Native unmanaged C++ code
//**Recast.h

enum rcTimerLabel
{
   A,
   B,
   C
};

extern "C" {

class __declspec(dllexport) rcContext
{
   public:
   inline rcContect(bool state);
   virtual ~rcContect() {}
   inline void resetLog() { if(m_logEnabled) doResetLog(); }

   protected:
   bool m_logEnabled;
}

struct rcConfig
{
   int width;
   int height;
}

} // end of extern


// **Managed CLI code
// **MyWrappers.h
#include "Recast.h"

namespace Wrappers
{
   public ref class MyWrapper
   {
   private:
     rcContect* _NativeClass;
   public:
     MyWrapper(bool …
Run Code Online (Sandbox Code Playgroud)

c# c++ dll c++-cli wrapper

8
推荐指数
1
解决办法
8285
查看次数

标签 统计

c++ ×3

c# ×2

dll ×2

wrapper ×2

.net ×1

c++-cli ×1

compilation ×1

crypto++ ×1

hash ×1

sha256 ×1