gpt4 book ai didi

c - 在 Windows 上运行 libxlsxwriter

转载 作者:太空宇宙 更新时间:2023-11-03 23:21:23 25 4
gpt4 key购买 nike

我正在尝试使用 libxlsxwriter,但我似乎可以正确编译或运行。

我按照 Windows 使用 Mingw-w64msys2 的说明进行操作:http://libxlsxwriter.github.io/getting_started.html .

我从他们的网站安装了 msys2 并使用 pacman -Syu 更新了所有内容。然后我用推荐的方式安装了zlib:

# Install the dev tools for libxlsxwriter.
pacman -S git gcc make zlib-devel

然后我运行代码来下载和编译libxlswriter:

# Clone and build libxlsxwriter.
git clone https://github.com/jmcnamara/libxlsxwriter.git
cd libxlsxwriter/
make
make install
# run example
cd ..
cc myexcel.c -o myexcel -lxlsxwriter -lz

现在有一个名为 myexcel 的可执行文件,它应该创建一个基本的 excel 文档,但是当我双击它时,我得到了错误:

The program can't start because msys-2.0.dll is missing from your computer.

我还收到缺少 msys-z.dll 的错误

我不确定自己做错了什么或如何解决。

任何帮助将不胜感激

编辑:

如果我运行:

make examples
./examples/hello

hello world 示例成功运行,因此似乎已正确安装。我想我只是不明白如何让它运行用户制作的 .c

最佳答案

MSYS 控制台在打开控制台时定义 MSYS 命令和 DLL 的路径:例如,如果 MSYS 安装在 C:\msys64 中,它会在本地添加路径到 C:\msys64\usr\bin 但它不会将其添加到 Windows 系统 PATH。

因此,如果您单击 MSYS 外部的可执行文件,它无法找到 DLL,因为它们不在 Windows PATH 中。

多种解决方案:

1) 在用户或计算机 PATH 中添加 C:\msys64\usr\bin(编辑环境变量)。作为奖励,您可以在 Windows CMD 中访问诸如 grep 之类的命令。作为一个缺点,可能会与 findsort 等命令混淆/冲突。

2) 在您的可执行目录中创建一个包含以下内容的 myexcel.bat 文件:

@echo off
set PATH=C:\msys64\usr\bin;%PATH%
%~PD0\myexcel.exe

(%~PD0 前缀 允许从 .bat 路径找到可执行文件,所以如果 .bat 文件从另一个目录运行,它仍然可以找到可执行文件)

3) 复制可执行文件所在的 MSYS DLL。由于 DLL 与 .exe Windows 将在同一目录中找到它们。推荐用于独立发行版,不适合个人使用,因为它会创建大量副本。

4) 针对 MSYS .a 库的静态链接。我不知道是否可以对所有库执行此操作。例如,似乎找不到 libz.a

关于c - 在 Windows 上运行 libxlsxwriter,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38464036/

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