Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual c++ 64位MFC应用程序(AppTranslator)的本地化 我将VisualC++和MFC应用程序迁移到64位。应用程序使用AppTranslator进行本地化,它基于资源dll及其自己的“apt”文件为每种语言创建本地化的资源dll。然后用“LoadLibrary”加载此dll,如果是64位资源dll,则会失败_Visual C++_Mfc_Localization_64 Bit - Fatal编程技术网

Visual c++ 64位MFC应用程序(AppTranslator)的本地化 我将VisualC++和MFC应用程序迁移到64位。应用程序使用AppTranslator进行本地化,它基于资源dll及其自己的“apt”文件为每种语言创建本地化的资源dll。然后用“LoadLibrary”加载此dll,如果是64位资源dll,则会失败

Visual c++ 64位MFC应用程序(AppTranslator)的本地化 我将VisualC++和MFC应用程序迁移到64位。应用程序使用AppTranslator进行本地化,它基于资源dll及其自己的“apt”文件为每种语言创建本地化的资源dll。然后用“LoadLibrary”加载此dll,如果是64位资源dll,则会失败,visual-c++,mfc,localization,64-bit,Visual C++,Mfc,Localization,64 Bit,您知道AppTranslator是否支持64位应用程序吗?对于支持64位并可以从AppTranslator导入现有本地化的本地化工具,您有什么建议吗 编辑:Dumpbin在原始资源dll上提供以下文件头: FILE HEADER VALUES 8664 machine (x64) 2 number of sections 54B62F13 time date stamp Wed Jan 14 10:55:47 2015

您知道AppTranslator是否支持64位应用程序吗?对于支持64位并可以从AppTranslator导入现有本地化的本地化工具,您有什么建议吗

编辑:Dumpbin在原始资源dll上提供以下文件头:

FILE HEADER VALUES
            8664 machine (x64)
               2 number of sections
        54B62F13 time date stamp Wed Jan 14 10:55:47 2015
               0 file pointer to symbol table
               0 number of symbols
              F0 size of optional header
            2022 characteristics
                   Executable
                   Application can handle large (>2GB) addresses
                   DLL
而AppTranslator创建的dll

FILE HEADER VALUES
            8664 machine (x64)
               2 number of sections
        4141A80C time date stamp Fri Sep 10 16:11:40 2004
               0 file pointer to symbol table
               0 number of symbols
              E0 size of optional header
            210E characteristics
                   Executable
                   Line numbers stripped
                   Symbols stripped
                   32 bit word machine
                   DLL

有趣的是,AppTranslator创建的文件除了原始资源dll之外还有一个“32位字机”。有什么想法吗?

我使用应用程序的32位构建和appTranslator来创建DLL文件

然后,我只需将这些DLL文件用于我的32位或64位应用程序构建


这在我的情况下已经运行了好几年。

我认为你的问题不在于工具。仅资源DLL通常不针对64位构建,因为它们不包含任何代码。通常,您从win32项目开始。您应该验证仅资源dll是使用链接器选项/NOENTRY构建的。您一定在某种程度上是正确的,因为我没有看到任何人抱怨AppTranslator x64支持。但是,我已经有了/NOENTRY链接器选项。你有没有想过?我们正在逐步淘汰我们的32位版本,所以我们想从我们的64位exe构建我们的翻译DLL,但遇到了相同的错误。我找到了答案。将LoadLibrary更改为:
LoadLibraryEx(strFilename,NULL,加载库作为图像资源,加载库作为数据文件)现在我可以从64位EXE加载app translator构建的DLL。