我想为windows完全独立地构建一个基于inux的程序。 我尝试使用命令
在ubuntu上使用mingw64{% extends 'base.html' %}
{% block content %}
something
<h1>Name:
{% block for_child %}
{% endblock %}
</h1>
{% endblock %}
但是
失败了./configure --host=x86_64-w64-mingw32 --disable-shared --enable-static LDFLAGS="-L /usr/local/lib/"
make
以下是github中的源代码: https://github.com/shadowsocks/simple-obfs
那么如何为Windows完全独立构建程序呢? 我可以试试cygwin或msys2吗?
更新
我找到了另一个移植过的源代码。 但是当我用
编译它时src/libcork/posix/subprocess.c:14:24: fatal error: sys/select.h: No such file or directory
#include <sys/select.h>
^
compilation terminated.
我得到一个仍然需要./configure --host=x86_64-w64-mingw32 CFLAGS="-static" LDFLAGS="-static"
的可执行文件。
那么如何才能使libssp-0.dll
成为静态链接?
答案 0 :(得分:1)
我不认为select.h
中的功能在MingW版本的gcc上可用,因为它在Windows平台上不可用。如果你正在构建一些打算在Windows上构建的东西,那么你可能会发现有一些选项可以传递给configure
,这些选项可以实现不同的,Windows友好的方式来实现同样的功能。如果你正在构建一些只是真正用于Linux的东西,那么你可能会失败。在这种情况下,您的选择实际上是:
修改代码,使其不需要select.h
。其中一些功能可能已存在于Windows套接字API中,但实现方式有所不同。但是,它可能同样没有,在这种情况下,你将不得不做一些工作。
使用功能比MinGW更丰富的Windows兼容层。 Cygwin可能很有用,Windows 10中的Windows子系统也可能正常工作。但是,这些方法都不等于构建“独立”应用程序,因为它们需要一些支持基础架构。