疯了!疯了!!再不解决就要疯掉了!高分求解

windlyzhang 2005-03-29 10:33:37
本人用Vc++.net混合编写托管代码和非托管代码时,遇到了一个奇怪的问题,请大虾们指点迷津!

现用VC++.net生成一托管类库文件DLL.cpp(当然包括DLL.h),然后生成一新类shp(新类文件为shp.cpp和shp.h),新生成的类为非托管代码,其原代码如下:

DLL.h文件:
// DLL.h
#pragma once
#pragma managed
#using <mscorlib.dll>
using namespace System;

namespace DLL
{
public __gc class Class1
{
// TODO: 在此添加此类的方法。
};
}

DLL.cpp文件:

// 这是主 DLL 文件。
#include "stdafx.h"
#include "DLL.h"
#pragma managed
#using <mscorlib.dll>


shp.h文件:

#pragma once
#pragma unmanaged

#include <stdio.h>
#include <malloc.h>

class Fileheader
{
int Code;
int Length;
int Version;
int Type;
double Xmin;
double Ymin;
double Xmax;
double Ymax;
double Zmin;
double Zmax;
double Mmin;
double Mmax;

} ;

class Shpfile
{

Fileheader *Header;


public:
Shpfile(void);
~Shpfile(void);
};



shp.cpp文件
#pragma unmanaged

#include "StdAfx.h"
#include ".\shpfile.h"
#include <stdio.h>
#include <malloc.h>

Shpfile::Shpfile(void)
{
Header=new Fileheader;
}

Shpfile::~Shpfile(void)
{
}

类库中就这么多代码,我想将Class1生成为托管类,而shp类为非托管类,单个文件编译都能通过,但是在“生成”或“重新生成”时,却链接通不过,提示的错误如下:

DLL error LNK2001: 无法解析的外部符号 __check_commonlanguageruntime_version
DLL error LNK2001: 无法解析的外部符号 __check_commonlanguageruntime_version
DLL error LNK2001: 无法解析的外部符号 __CorDllMain@12
DLL error LNK2019: 无法解析的外部符号 "void * __cdecl operator new(unsigned int)"

(??2@YAPAXI@Z) ,该符号在函数 "public: __thiscall Shpfile::Shpfile(void)"

(??0Shpfile@@QAE@XZ) 中被引用
DLL fatal error LNK1120: 3 个无法解析的外部命令

如果把shp类构造函数中的new 那行代码删掉的话,就一点错误都没有了,这个问题已经搞得我头昏脑胀几天了,晕死了,请各位大虾指点指点吧,或者提供相关方面的文档也可以,不胜感激!!!
...全文
175 6 打赏 收藏 转发到动态 举报
写回复
用AI写文章
6 条回复
切换为时间正序
请发表友善的回复…
发表回复
spotboy 2005-04-04
  • 打赏
  • 举报
回复
你在动态连接库中的new所用的CRT的DLL和你在MFC中的不一样导致的.
zjh135 2005-04-01
  • 打赏
  • 举报
回复
MS的东西只有华丽的外表,没有很好的产品,
syeerzy 2005-03-31
  • 打赏
  • 举报
回复
Header=new Fileheader;
singleflower 2005-03-31
  • 打赏
  • 举报
回复
帮顶
joseph0311 2005-03-30
  • 打赏
  • 举报
回复
帮你顶...
oyljerry 2005-03-30
  • 打赏
  • 举报
回复
托管和非托管同时,容易出问题

7,540

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 VC.NET
社区管理员
  • VC.NET社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧