我正在尝试使用CMake和MinGW为Windows编译libzint(条形码生成器)。目的是避免Visual Studio依赖。除了生成的.dll文件包含太多导出的符号外,所有运行正常。我应该只有ZBarcode_ *函数,但实际上几乎任何被声明为变量/常量的东西都会被导出(并且生成的.dll文件没有版本信息,我认为这很奇怪。)
以下是我的工作方式:
我使用Dependency Walker来查看导出的函数,并看到除了少数ZBarcode_ *函数之外还有大约400个其他符号,并且根据源代码我看到这些符号实际上是常量,数组和libzint的其他内部结构。
您知道如何配置或调整内容以避免所有这些导出吗?
非常感谢您的帮助,问候。
答案 0 :(得分:0)
在标题中查找包含dllexport
的任何宏。如果您找到一个或多个,请检查它是否有故障。
另一种可能性是导出所有类,而不仅仅是少数必要的函数。
如果您有grep
,请执行grep -nr dllexport *
。这将递归查看所有文件。对于每次点击,它将打印文件名,行号和行的内容。