c/c ++中的/ MD和/ MDD(多线程调试dll)有什么区别 - >代码生成
视觉工作室的特性....
这是我的场景.我有一个包含30个子项目的项目.在其中一个项目中,我使用了CLR(公共语言运行库),因此我使用/ mdd(多线程调试DLL)修改了它的运行时.
单独地,所有项目都成功构建.但是当我尝试编译主项目时,我收到以下链接器错误:
LINK : warning LNK4098: defaultlib 'MSVCRTD' conflicts with use of other libs; use /NODEFAULTLIB:library
LIBCMTD.lib(winxfltr.obj) : error LNK2005: __XcptFilter already defined in MSVCRTD.lib(MSVCR80D.dll)
LIBCMTD.lib(invarg.obj) : error LNK2005: __invalid_parameter already defined in MSVCRTD.lib(MSVCR80D.dll)
LIBCMTD.lib(invarg.obj) : error LNK2005: __invoke_watson already defined in MSVCRTD.lib(MSVCR80D.dll)
LIBCMTD.lib(crt0.obj) : error LNK2005: _mainCRTStartup already defined in MSVCRTD.lib(crtexe.obj)
LIBCMTD.lib(fclose.obj) : error LNK2005: _fclose already defined in MSVCRTD.lib(MSVCR80D.dll)
LIBCMTD.lib(printf.obj) : error LNK2005: _printf already defined in MSVCRTD.lib(MSVCR80D.dll)
LIBCMTD.lib(mbstowcs.obj) : error LNK2005: _mbstowcs already defined in MSVCRTD.lib(MSVCR80D.dll) …Run Code Online (Sandbox Code Playgroud) 我正在使用微软提供的Dll在c#中创建一个类LLibrary.
现在我想静态地将那些Microsoft提供的库添加到My Dll.我该怎么做呢.我只是简单地添加了对Microsoft提供的Dlls和创建My Dll的引用?好不好?
如果微软提供的DLL在其他机器上不可用,那么我的Dll可能会失败,我需要静态添加库?
我怎样才能做到这一点??
我创建了一个简单的vc ++控制台应用程序并尝试打印"Hello World".我使用的是Windows Server 2003机器.
当我尝试构建此项目时,我收到错误错误:生成cmd.exe
我该如何解决?
我在构建项目时遇到以下错误.即使我将属性"将警告视为错误"设置为"否",我得到的是:
error C2220: warning treated as error - no object file is created.
Run Code Online (Sandbox Code Playgroud)
任何人都可以帮我解决这个问题吗?提前致谢.
可能重复:
'ref'和'out'关键字之间有什么区别?
ref和之间有什么区别out?我很困惑何时使用ref和out.所以请解释如何使用ref和out,以及在哪些情况下.
谁能告诉我如何在VC++中创建一个进程?我需要执行
regasm.exe testdll /tlb:test.tlb /codebase
Run Code Online (Sandbox Code Playgroud)
该过程中的命令.
我的第一次是12:10:20 PM,第二次是7:10:20同一天我怎么能找到他们的差异?
我的想法是将所有时间转换为秒,并找到差异再次转换为时间
Approch还不错吗?
我一直有以下形式的链接器错误:
libcmtd.dll msvmrtd.dll 已经定义了一些元素(例如:_mkdir) ...
我不知道如何解决它们.
这是一个完整的错误消息:
private:__ thiscall type_info :: type_info(class type_info const&)"(?? 0type_info @@ AAE @ ABV0 @@ Z)已在LIBCMTD.lib(typinfo.obj)中定义
MSVCRTD.lib(ti_inst.obj):错误LNK2005:已在LIBCMTD.lib中定义的"private:class type_info&__thiscall type_info :: operator =(class type_info const&)"(?? 4type_info @@ AAEAAV0 @ ABV0 @@ Z) (typinfo.obj)
你能帮我解决这个问题吗?
我在C#中为一些Display方法创建了一个com组件,它返回一个String List
如下所示.在v ++中,我使用std :: lst来捕获Disp()的返回值但是它
给出编译器错误,Disp不是类的成员.我将返回类型设为void
它工作正常.什么我可以修改,以便Disp返回一个List和main(c ++)我必须使用
这个回报值.
Public interface ITest
{
List<string> Disp();
}
class TestLib:ITest
{
List<string> Disp()
{
List<string> li=new List<string>();
li.Add("stack");
li.Add("over");
li.Add("Flow");
return li;
}
}
Run Code Online (Sandbox Code Playgroud)
编译并创建了Test.dll成功,还有test.tlb.现在在用c ++编写的main函数中
#include<list>
#import "..\test.tlb"
using namespace Test;
void main()
{
HRESULT hr=CoInitialize(null);
ITestPtr Ip(__uuidof(TestLib));
std::list<string> li=new std::list<string>();
li=Ip->Disp();
}
Run Code Online (Sandbox Code Playgroud)
当我尝试编译它时,我的代码出了什么问题
'Disp':不是TestLib的成员:ITest
如何解决这个PLZ帮助我....当我让它返回类型作为void在类中它工作正常.我做的错误????