gpt4 book ai didi

c++ - 将 zlib 与 Visual C++ CLR Windows 窗体应用程序一起使用

转载 作者:行者123 更新时间:2023-11-28 03:46:24 25 4
gpt4 key购买 nike

我已经尝试了很长时间,那就是获得 zlib库来处理我的程序。我将 Microsoft Visual C++ 2008 Express Edition 与 CLR Windows Forms 应用程序一起使用。问题是我担心 zlib 太旧无法与我正在使用的一起使用。我找到的 zlib 的所有示例(极少数示例)都带有 Win32 应用程序。

那是另一回事;我找不到任何没有过时的 zlib 示例。我知道 zlib 很旧,但我找不到任何替代品:(

所以如果有人能首先告诉我是否可以在我的应用程序中使用 zlib,以及如何使用,非常感谢。如果有人想更进一步,也许可以推荐一个更好的类似 zlib 的程序,我可以使用,更加感谢。

(顺便说一句,我正在创建一个应用程序来读取 Minecraft 游戏的关卡数据。可以在 here 上找到一些信息。)

最佳答案

这不是问题,C++/CLI 就是用来处理这样的任务的。您必须告诉编译器 zlib header 不是带有 #pragma managed 的​​托管代码,并告诉链接器链接导入库。像这样,在示例控制台模式应用程序中:

#include "stdafx.h"
#pragma managed(push, off)
#include "c:/temp/deleteme/include/zlib.h"
#pragma managed(pop)
#pragma comment(lib, "c:/temp/deleteme/lib/zdll.lib")


using namespace System;

int main(array<System::String ^> ^args)
{
const char* vers = zlibVersion();
String^ mvers = System::Runtime::InteropServices::Marshal::PtrToStringAnsi((IntPtr)(void*)vers);
Console::WriteLine(mvers);
Console::ReadKey();
return 0;
}

您唯一需要做的就是将 DLL 复制到构建目录中,这样您就可以调试代码了。项目 + 属性、生成事件、生成后事件、命令行:

 xcopy /d "c:\temp\deleteme\zlib1.dll" "$(TargetDir)"

也许你想选择一个不同的安装目录:)

关于c++ - 将 zlib 与 Visual C++ CLR Windows 窗体应用程序一起使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7477912/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com