代码之家  ›  专栏  ›  技术社区  ›  Valarenti

将32位xll Excel加载项转换为64位:LNK1561错误

  •  1
  • Valarenti  · 技术社区  · 4 月前

    我继承了一个古老的C项目,该项目构建了一个Excel加载项.xll文件,该文件适用于32位Office,但不适用于64位Office。该项目位于Visual Studio 2022解决方案中。解决方案中包含两个文件夹,它们作为“其他库目录”包含在项目的配置属性中(我所做的唯一更改是将平台从Win32设置为x64。当平台为Win32时,项目编译时没有错误。当我将平台更改为x64并重新生成时,我收到错误

    必须定义LNK1561入口点

    在文件LINK第1行中。

    任何想法都将不胜感激。

    1 回复  |  直到 4 月前
        1
  •  1
  •   Ken White    4 月前

    这个答案是基于最初提出的问题,然后被OP修改为询问不同的问题。

    根据 error help page 来自微软:

    链接器工具错误LNK1561

    链接器找不到入口点,即要调用的初始函数 在您的可执行文件中。默认情况下,链接器会查找main或wmain 控制台应用程序的函数,WinMain或wWinMain函数 Windows应用程序,或需要初始化的DLL的DllMain。你 可以使用/ENTRY链接器选项指定另一个函数。

    此错误可能有几个原因:

    • ...
    • 您可能没有指定/DLL 构建DLL时的选项。

    由于XLL Excel加载项是由Excel加载的DLL,因此值得确保将项目的配置类型设置为DLL:

    enter image description here