现在升级为2008的,不知道为什么只生成dll,不生成lib文件了。
import library:设置正确。
不知道有没有人知道可能原因?
22 个解决方案
#1
你默认用向导生成的也不产生lib文件?
#2
那种生成。
不过生成的就不能更改吗?
不过生成的就不能更改吗?
#3
up
#4
如果你有时间的话,就对照来两个工程配置,看看有什么不同
没时间的话,直接新建一个可以导出lib的,把实现文件拷贝过去不就行了
没时间的话,直接新建一个可以导出lib的,把实现文件拷贝过去不就行了
#5
比较不出什么差异
#6
在工程上点击右键,然后选择properties,进入后在左侧的树形目录中选择Linker->General
然后要保证Enable Incremental Linking (从上往下数是第四项)选项选择(Yes (/INCREMENTAL));
Ignore Import Library(第六项)选择No;
Link Library Dependencies (倒数第二项)选择YES;
自己调整下,应该就可以了
然后要保证Enable Incremental Linking (从上往下数是第四项)选项选择(Yes (/INCREMENTAL));
Ignore Import Library(第六项)选择No;
Link Library Dependencies (倒数第二项)选择YES;
自己调整下,应该就可以了
#7
我就是这么设置的
#8
是不是必须要def文件?
#9
Linker-〉General
Output File: ../../Bin/***.dll
Show Progress: Not Set
Version:
Enable Incremental Linking: Yes(/INCREMENTAL)
Suppress Startup Banner: Yes(/NOLOG0)
Ignore Import Library: No
Register Output: No
Pre-user Redirection: No
Additional Library Directories:
Link Library Dependency Inputs: No
Use UNICODE Response Files: Yes
Output File: ../../Bin/***.dll
Show Progress: Not Set
Version:
Enable Incremental Linking: Yes(/INCREMENTAL)
Suppress Startup Banner: Yes(/NOLOG0)
Ignore Import Library: No
Register Output: No
Pre-user Redirection: No
Additional Library Directories:
Link Library Dependency Inputs: No
Use UNICODE Response Files: Yes
#10
是不是lib的目录变了啊
vs2005和2003的输出目录就不一样
vs2005和2003的输出目录就不一样
#11
不是,如果编译过了,就不需要,如果编译都没有通过的话,就需要,会有提示的。我看了一下我的那些库,有的有,有的就没有,照样可以编译通过。而且不影响使用
#12
还没有解决吗?如果还有问题的话,或者是怀疑路径有错。那么你可以看编译的信息啊,把那些output中打印出来的信息,搞到记事本或者UltraEdit上,就可以看到了关于lib生成的信息。实在没有,就没辙了,毕竟没亲自去搞这个。我没遇到过类似的
#13
我再输出里面 查找lib字符串,只查到这个:
Severe: The Pug XML library API variant does not match your implementation!
Severe: Your implementation may not run correctly with this variant.
另外如果是路径错误的话,我在资源管理器里搜索应该生成的lib文件也查不到。
Severe: The Pug XML library API variant does not match your implementation!
Severe: Your implementation may not run correctly with this variant.
另外如果是路径错误的话,我在资源管理器里搜索应该生成的lib文件也查不到。
#14
import library:设置正确。
咋设置的?
#15
刚好也碰到这个问题,找到个方法可解决:
在工程上右键 -> 添加 -> 新建项 -> 选"模块定义文件(.def)" -> 随便输入个名字 -> 添加
现在编译就可生成.lib 文件了,然后把添加的文件删除,以后都没问题了.
如果上边的操作是添加现有项,不能产生(.lib)的问题依旧存在.
在工程上右键 -> 添加 -> 新建项 -> 选"模块定义文件(.def)" -> 随便输入个名字 -> 添加
现在编译就可生成.lib 文件了,然后把添加的文件删除,以后都没问题了.
如果上边的操作是添加现有项,不能产生(.lib)的问题依旧存在.
#16
上面的回答有误,现更正:
不生成.lib问题主要原因是缺少 模块定义文件 ,上面的添加操作主要是添加了一个内容为 "LIBRARY "***"" 的模块文件,就可生成.lib文件.
主要的设置是:
项目属性->链接器->输入->模块定义文件->在里面添上*.def即可解决问题
不生成.lib问题主要原因是缺少 模块定义文件 ,上面的添加操作主要是添加了一个内容为 "LIBRARY "***"" 的模块文件,就可生成.lib文件.
主要的设置是:
项目属性->链接器->输入->模块定义文件->在里面添上*.def即可解决问题
#17
确实如keagan所说可解决问题
项目属性->链接器->输入->模块定义文件->在里面添上*.def
项目属性->链接器->输入->模块定义文件->在里面添上*.def
#18
确实需要def文件,我的工程原来是在vc6下编译的,不加def就是不出lib,加了就出
#19
呵呵,明白了
#20
我刚试了。。。还真可以。。。谢谢了...
#21
添加导出符号~~
#22
此 DLL 在创建时不导出任何符号。 因此,在生成此 DLL 时
生成时不会产生 .lib 文件。 如果希望此项目
成为其他某个项目的项目依赖项,则需要
添加代码以从 DLL 导出某些符号,
以便产生一个导出库,或者,也可以在项目“属性页”对话框中的
“链接器”文件夹中,将“常规”属性页上的
“忽略输入库”属性设置为“是”。
生成时不会产生 .lib 文件。 如果希望此项目
成为其他某个项目的项目依赖项,则需要
添加代码以从 DLL 导出某些符号,
以便产生一个导出库,或者,也可以在项目“属性页”对话框中的
“链接器”文件夹中,将“常规”属性页上的
“忽略输入库”属性设置为“是”。
#1
你默认用向导生成的也不产生lib文件?
#2
那种生成。
不过生成的就不能更改吗?
不过生成的就不能更改吗?
#3
up
#4
如果你有时间的话,就对照来两个工程配置,看看有什么不同
没时间的话,直接新建一个可以导出lib的,把实现文件拷贝过去不就行了
没时间的话,直接新建一个可以导出lib的,把实现文件拷贝过去不就行了
#5
比较不出什么差异
#6
在工程上点击右键,然后选择properties,进入后在左侧的树形目录中选择Linker->General
然后要保证Enable Incremental Linking (从上往下数是第四项)选项选择(Yes (/INCREMENTAL));
Ignore Import Library(第六项)选择No;
Link Library Dependencies (倒数第二项)选择YES;
自己调整下,应该就可以了
然后要保证Enable Incremental Linking (从上往下数是第四项)选项选择(Yes (/INCREMENTAL));
Ignore Import Library(第六项)选择No;
Link Library Dependencies (倒数第二项)选择YES;
自己调整下,应该就可以了
#7
我就是这么设置的
#8
是不是必须要def文件?
#9
Linker-〉General
Output File: ../../Bin/***.dll
Show Progress: Not Set
Version:
Enable Incremental Linking: Yes(/INCREMENTAL)
Suppress Startup Banner: Yes(/NOLOG0)
Ignore Import Library: No
Register Output: No
Pre-user Redirection: No
Additional Library Directories:
Link Library Dependency Inputs: No
Use UNICODE Response Files: Yes
Output File: ../../Bin/***.dll
Show Progress: Not Set
Version:
Enable Incremental Linking: Yes(/INCREMENTAL)
Suppress Startup Banner: Yes(/NOLOG0)
Ignore Import Library: No
Register Output: No
Pre-user Redirection: No
Additional Library Directories:
Link Library Dependency Inputs: No
Use UNICODE Response Files: Yes
#10
是不是lib的目录变了啊
vs2005和2003的输出目录就不一样
vs2005和2003的输出目录就不一样
#11
不是,如果编译过了,就不需要,如果编译都没有通过的话,就需要,会有提示的。我看了一下我的那些库,有的有,有的就没有,照样可以编译通过。而且不影响使用
#12
还没有解决吗?如果还有问题的话,或者是怀疑路径有错。那么你可以看编译的信息啊,把那些output中打印出来的信息,搞到记事本或者UltraEdit上,就可以看到了关于lib生成的信息。实在没有,就没辙了,毕竟没亲自去搞这个。我没遇到过类似的
#13
我再输出里面 查找lib字符串,只查到这个:
Severe: The Pug XML library API variant does not match your implementation!
Severe: Your implementation may not run correctly with this variant.
另外如果是路径错误的话,我在资源管理器里搜索应该生成的lib文件也查不到。
Severe: The Pug XML library API variant does not match your implementation!
Severe: Your implementation may not run correctly with this variant.
另外如果是路径错误的话,我在资源管理器里搜索应该生成的lib文件也查不到。
#14
import library:设置正确。
咋设置的?
#15
刚好也碰到这个问题,找到个方法可解决:
在工程上右键 -> 添加 -> 新建项 -> 选"模块定义文件(.def)" -> 随便输入个名字 -> 添加
现在编译就可生成.lib 文件了,然后把添加的文件删除,以后都没问题了.
如果上边的操作是添加现有项,不能产生(.lib)的问题依旧存在.
在工程上右键 -> 添加 -> 新建项 -> 选"模块定义文件(.def)" -> 随便输入个名字 -> 添加
现在编译就可生成.lib 文件了,然后把添加的文件删除,以后都没问题了.
如果上边的操作是添加现有项,不能产生(.lib)的问题依旧存在.
#16
上面的回答有误,现更正:
不生成.lib问题主要原因是缺少 模块定义文件 ,上面的添加操作主要是添加了一个内容为 "LIBRARY "***"" 的模块文件,就可生成.lib文件.
主要的设置是:
项目属性->链接器->输入->模块定义文件->在里面添上*.def即可解决问题
不生成.lib问题主要原因是缺少 模块定义文件 ,上面的添加操作主要是添加了一个内容为 "LIBRARY "***"" 的模块文件,就可生成.lib文件.
主要的设置是:
项目属性->链接器->输入->模块定义文件->在里面添上*.def即可解决问题
#17
确实如keagan所说可解决问题
项目属性->链接器->输入->模块定义文件->在里面添上*.def
项目属性->链接器->输入->模块定义文件->在里面添上*.def
#18
确实需要def文件,我的工程原来是在vc6下编译的,不加def就是不出lib,加了就出
#19
呵呵,明白了
#20
我刚试了。。。还真可以。。。谢谢了...
#21
添加导出符号~~
#22
此 DLL 在创建时不导出任何符号。 因此,在生成此 DLL 时
生成时不会产生 .lib 文件。 如果希望此项目
成为其他某个项目的项目依赖项,则需要
添加代码以从 DLL 导出某些符号,
以便产生一个导出库,或者,也可以在项目“属性页”对话框中的
“链接器”文件夹中,将“常规”属性页上的
“忽略输入库”属性设置为“是”。
生成时不会产生 .lib 文件。 如果希望此项目
成为其他某个项目的项目依赖项,则需要
添加代码以从 DLL 导出某些符号,
以便产生一个导出库,或者,也可以在项目“属性页”对话框中的
“链接器”文件夹中,将“常规”属性页上的
“忽略输入库”属性设置为“是”。