c++ 无法生成lib文件 的解决方案

今天生成了一个Win32->Win32 Project->Dll空文件.

VS2008编译后,遇到两个问题:

1.general error c1010070: Failed to load and parse the manifest.

解决方法:添加一个空main(){};

2. fatal error LNK1104: cannot open file ‘..\debug\sdk_e_x.lib‘

无法生成LIB文件

解决方法:

1.添加导出方法

#define _DLL_E_X
#ifdef _DLL_E_X
#define DLL_E_X_API __declspec(dllexport)
#else
#define DLL_E_X_API __declspec(dllimport)
#endif

//extern "C" {
class DLL_E_X_API aa
{
};

//}

2.添加一个.cpp文件。#include "上面的头文件"

参考:

http://www.cnblogs.com/rollenholt/archive/2012/03/20/2409046.html

http://bbs.csdn.net/topics/350172131

时间: 2024-10-11 06:15:24

c++ 无法生成lib文件 的解决方案的相关文章

由.def文件生成lib文件[转]

最近在学习curl库时,碰到一个问题,从官网上下载了一个lib版的,却发现只有.dll,没有lib文件,感觉很奇怪,google了之后才知道,原来库作者的用意是让用户自己生成lib文件,下载到的lib文件中含有.def文件.唉,用了vs有几个年头了,却连这么基础的问题都不知道,编译器是变得越来越智能了,只是让我们变得越来越傻了.下边我总结了一下由.def生成lib的方法. 在使用 VC 链接 dll 时,通常需要一个导入库文件(.lib),但有时我们只有一个 dll 文件,怎么办呢? 通常,在链

在KEIL realview MDK下为单一C文件生成.LIB文件

纠结了一天,竟然没有一个网页完整的说清楚的这个问题,莫非太简单了大家不屑于说?看大多数说的都是简单地将整个工程转换成.LIB,在Project->Options for Target->Output下,选择Create Library,就可以了. 不过这样生成的lib文件巨大,我现在编译的工程最后生成的lib有2.6MB. 后来还是从KEIL官网英文资料中找到灵感(http://www.keil.com/support/docs/2610.htm): 1.右键点击工程,假设为a,选Add Gr

使用lib.exe生成.lib文件

当我们下载后发现只有DLL,没有LIB的时候,只能自己生成了. 以生成sqlite的lib文件为例: 在:\Program Files\Microsoft Visual Studio 8\VC\bin里面有个lib.exe用拿生成lib,但默认是不能运行的,缺少几个文件把:\Program Files\Microsoft Visual Studio 8\Common7\IDE 里面的mspdb80.dll,mspdbcore.dll,mspdbsrv.exe,msobj80.dll复制到上面的b

c++中.dll与.lib文件的生成与使用的详解

两种库: ? 包含了函数所在的DLL文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的DLL提供,称为动态链接库dynamic link library.? 包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static link library.共有两种链接方式: ? 动态链接使用动态链接库,允许可执行模块(.dll文件或.exe文件)仅包含在运行时定位DLL函数的可执行代码所需的信息.? 静态链接使用静态链接库,链接器从静态链接库LIB获取所有被引用函数,并将库

VS2008 工程只生成dll不生成lib的解决方案

http://topic.csdn.net/u/20081216/22/b12d1450-7585-4c9f-867a-7c181737c328.html 问题:vs2008版本的,不知道为什么只生成dll,不生成lib文件了. 解决方案: 在工程上右键 -> 添加 -> 新建项 -> 选"模块定义文件(.def)" -> 随便输入个名字 -> 添加现在编译就可生成.lib 文件了,然后把添加的文件删除,以后都没问题了.如果上边的操作是添加现有项,不能产生

由动态库文件dll生成lib库文件

本文基于OpenBlas的编译和安装.来说明怎样从一个dll文件生成lib库文件. 參考OpenBlas的说明"Howto generate import library for MingW",和MinGW的说明HOWTO Create an ImportLibrary for a DLL using MinGW,学习怎样生成lib库.当中OpenBlas的说明讲的是怎样使用Visual studio的lib.exe工具从dll生成lib文件,而MinGW讲的是怎样把一个windows

lib文件和dll文件

一. 简介 1.1 C++两种库文件 lib包含了函数所在的dll文件和文件中函数位置的信息(入口),代码由运行时加载在进程空间中的dll提供,称为动态链接库dynamic link library.(这种方式更灵活,写的程序体积小,但是需要.exe和dll同时发布) lib包含函数代码本身,在编译时直接将代码加入程序当中,称为静态链接库static link library.(这种方式不是很灵活,因为lib被编译到.exe中,写出的程序体积大,但是只需要发布exe即可,不需要dll文件) 1.

使用VS2012生成DLL文件 (1)

一:生成DLL 1:创建DLL工程 文件->新建->项目->visual c++->win32->win32控制台应用程序(win32项目也可以) 填写项目名称MyDLL->确定->下一步->DLL(附加选项 对空项目打钩)->完成. 到这里DLL工程就创建完毕了,下面新建两个文件MyDLL.cpp和MyDLL.h. MyDLL.cpp内容如下: 1 #include  2 using namespace std; 3 #include "M

VS2017生成DLL文件——两种方式

下面我们将用两种不同的姿势来用VS2017生成dll文件(动态库文件),这里以C语言为例,用最简单的例子,来让读者了解如何生成dll文件 姿势一: 第一步:新建一个项目 第二步:选择Windows桌面向导(这里先不要去管上面的“动态链接库(DLL)”)  第三步:选择动态链接库,并空项目打勾√  第四步:添加一个.c源文件 第五步:(因为这里以C语言为例子,将后缀改为.c) 第六步:在c文件中输入一个简单的函数这里的_declspec(dllexport)并不是必须的,后面一种方法将不使用_de