想弄nmake,百度上基础资料太少,都是linux的makefile,弄了2天才一点点效果

头痛中。。。

以下记录

//main.cpp

#include <iostream>
using namespace std;

//把Test.h改名为TestLib.h,并去掉_declspec(dllexport) 
#include "TestLib.h"
#pragma comment(lib, "Test.lib")
int main()
{
cout<<"hello world"<<endl;

string curName;
Test t;
t.printName("wujingtao", curName);
int num = t.getNum();
string cnName = t.getCnName();
string usName = t.getUsName();

cout<<curName<<endl;
cout<<usName<<endl;
cout<<cnName<<endl;
cout<<num<<endl;

system("pause");
return 0;
};

//Test.h

#ifndef Test_H
#define Test_H

#include <string>         
using std::string;

class _declspec(dllexport) Test
{
public:
string printName(const string& usName, string& cnName);

int getNum();

string getUsName();

string getCnName();
};
#endif

//Test.cpp
#include "Test.h"
string Test::printName(const string& usName, string& cnName)
{
string tmpName="";
if("wujingtao"== usName)
{
    tmpName = "吴竞焘";
}
cnName = tmpName;
    
return tmpName;
}

int Test::getNum()
{
return 5;
}

string Test::getCnName()
{
return "吴竞焘";
}

string Test::getUsName()
{
return "wujingtao";
}

//makefile

all:main.obj Test.lib

link main.obj Test.lib 
main.obj:
cl /c /EHsc main.cpp
Test.lib:Test.obj
link /Dll Test.obj
Test.obj:Test.h
cl /c /EHsc Test.cpp

clean:
@del *.obj
@echo Project has clean

nmake编译dll相关推荐

  1. 学了C语言,如何利用CURL写一个下载程序?—用nmake编译CURL并安装

    在这一系列的前一篇文章学了C语言,如何为下载狂人写一个磁盘剩余容量监控程序?中,我们为下载狂人写了一个程序来监视磁盘的剩余容量,防止下载的东西撑爆了硬盘.可是,这两天,他又抱怨他的下载程序不好用,让我 ...

  2. vs2010 vc nmake编译openssl-0.9.8e

    <vs2010 vc nmake编译openssl-0.9.8e> 一,下载 ActivePerl window安装程序下载:http://downloads.activestate.co ...

  3. windows下用GCC编译DLL

    此程序有3个文件,分别为 export.h .export.c .main.c export.h 文件内容 /*此头很有必要,别人在调用的时候知道有哪些方法*/ #ifdef BUILD_DLL #d ...

  4. c 语言怎么编译 .dll,将你的 C 语言代码编译成 .NET

    介绍 通常情况下,对于那些使用C语言编程并开始用C#/ VB或一些其他的用于.NET的编译语言编程,那么他们希望或者甚至是需要调用我们用C语言编写的函数代码. 每当我在互联网上钻研,或说要在编译器中使 ...

  5. 在windows上使用go编译dll文件,供C++调用

    C++项目是win32的,所以go的编译环境也要改成win32的 cmd下,修改环境变量: set GOARCH=386 set CGO_ENABLED=1 使用go env 查看是否生效 参考:ht ...

  6. 反编译DLL并修改DLL中的内容

    使用场景:针对当前用户因不愿意进行软件版本升级,但又希望可以解决当前问题,此时可以考虑通过反编辑DLL进行修改内容,然后重新生成新的DLL 操作步骤: 1.首先使用ILSpy.exe反编译DLL,查看 ...

  7. nmake编译libraw

    编译环境:VS2019的nmake libraw:0.20.2 一.使用nmake需要首先设置nmake的环境变量,方法如下: 在系统环境变量path中添加 C:\Program Files (x86 ...

  8. NX二次开发-C++使用IDA Pro反编译dll,追踪查看里面使用的UFUN API函数(三部曲1)

    一年前我写过一个C#反编译dll查看代码系列 NX二次开发-C#使用DllImport调用libufun.dll里的UF函数(反编译.net.dll)调用loop等UF函数(三部曲1) NX二次开发- ...

  9. Unity3d 反编译破解游戏 简单示例 使用ildasm反编译DLL修改然后重新编译DLL

    因为这几天碰到一个Unity的Bug,不得不去反编译DLL看看C#代码的生成中间件代码.这也用到了一些反编译以及重新编译DLL的一些知识,意味到Unity是如此的不安全. 首先我们新建一个工程,创建一 ...

  10. c++ clr编译dll在c#调用时出现“试图加载不正确的格式”“找不到dll”错误的解决...

    用depends发现缺了一堆API-MS-WIN什么的dll,网上查找是因为少了VC++2010,VC++2015等一系列,装好后仍然不行,原来这种错误并不是该原因导致的,也并不缺少那些dll(dep ...

最新文章

  1. RDKit | 基于RDKit获取分子3D距离矩阵
  2. Python学习笔记(2)-Python执行方式、变量
  3. 【转】Odoo装饰器: one装饰
  4. 2013年小结及2014年展望
  5. js调用java代码返回解决方案
  6. Microsoft SQL Server学习(二)
  7. 【BZOJ 3098】 Hash Killer II
  8. C语言 1A gt $20,C语言输出 1到20 的阶乘之和
  9. hdu5024-Wang Xifeng's Little Plot
  10. Exception in thread “main” java.lang.NoClassDefFoundError: com/google/common/base/Preconditions
  11. Comparable接口
  12. 权限汇总 uses-permission
  13. 天刀帐号角色服务器查询系统,天涯明月刀手游角色交易介绍-角色转移系统
  14. IT计算机实习:JAVA实习报告范文(一)
  15. 华为OSN3500与路由器混合组网
  16. pandas算加权平均值_pandas和groupby:如何计算agg中的加权平均值
  17. -bash: netstat: 未找到命令
  18. 冯诺曼伊体系 计算机五大逻辑,科学网—再谈冯·诺伊曼结构 - 姜咏江的博文
  19. 智能汽车操作系统行业研究及十四五规划分析报告
  20. python/php/java/nodejs+vue社区团购系统

热门文章

  1. 狮子鱼社区团购小程序独立版 安装教程及后台设置小程序APPID,微信支付,腾讯地图AppKey
  2. 机房工程主要施工方法和机房工程验收
  3. could not access network location \Hewlett-Packard\\
  4. html 透明玻璃效果图,CSS3教程实现模糊透明玻璃效果
  5. 12星座哪些人会重友轻爱?
  6. 计算机软件3dmax在展览中的研究,关于3DMAX软件的虚拟现实技术的应用研究
  7. ISA Server 新手完全进阶指南
  8. 小米MIX 解BL锁教程 申请BootLoader解锁教程
  9. 印象笔记粘贴HTML,印象笔记剪藏插件
  10. 为Linux发行版安装simsun.ttf