Member 13244531 Ответов: 2

Проблема с настройкой исходного кода с помощью mingw "help"


Эй, мне нужен совет по этому вопросу, который у меня есть.
Я недавно пытался построить этот исходный код здесь https://www.libsdl.org/projects/doom/1
Я строю оригинальный порт с sdl настоянным на нем а не на порту linuxdoom так что у меня возникли некоторые проблемы

Что я попробовал в первую очередь…

Я установил Mingw

Я установил SDL v1.0.1

Я установил переменные среды в путь к файлу SDL-Config

И убедился что у меня есть make установленный также в основном у меня есть все

Но когда я загружаю командную строку windows я нахожу исходный каталог

так, например, компакт-диск C:\Users\john\Desktop\sdl исходный код судьбы

Затем я использую команду ls, чтобы увидеть мои файлы в этом каталоге

Затем я использую sh configure, чтобы начать настройку исходного кода

Но я получаю sdl-config найден, но sdl 1.0.1 не найден, но я собираюсь дать вам информацию о config-log, чтобы увидеть мою проблему и информацию командной строки mingw, чтобы увидеть также я в замешательстве, потому что я знаю, что мне нужно добавить путь к каталогу include sdl/sdl.h, но я не могу понять это mabe его что-то еще, пожалуйста, помогите мне в этом я застрял на этом вопросе в течение 5 часов теперь это своего рода чушь, но…

Вот моя информация из командной строки

loading cache ./config.cache
checking for a BSD compatible install… /usr/bin/install -c
checking whether build environment is sane… yes
checking whether make sets ${MAKE}… yes
checking for working aclocal… found
checking for working autoconf… found
checking for working automake… found
checking for working autoheader… found
checking for working makeinfo… found
checking whether make sets ${MAKE}… (cached) yes
checking for gcc… gcc
checking whether the C compiler (gcc ) works… yes
checking whether the C compiler (gcc ) is a cross-compiler… no
checking whether we are using GNU C… yes
checking whether gcc accepts -g… yes
checking for a BSD compatible install… /usr/bin/install -c
checking for sdl-config… /c/Program Files (x86)/SDL_MINGW32/SDL-1.0.1/bin/sdl-config
checking for SDL - version >= 1.0.1… configure: line 1181: /c/Program: No such file or directory
configure: line 1182: /c/Program: No such file or directory
configure: line 1185: /c/Program: No such file or directory
configure: line 1187: /c/Program: No such file or directory
configure: line 1189: /c/Program: No such file or directory
no
*** Could not run SDL test program, checking why…
*** The test program failed to compile or link. See the file config.log for the
*** exact error that occured. This usually means SDL was incorrectly installed
*** or that you have moved SDL since it was installed. In the latter case, you
*** may want to edit the sdl-config script: /c/Program Files (x86)/SDL_MINGW32/SDL-1.0.1/bin/sdl-config
configure: error: *** SDL version 1.0.1 not found!


Вот мой файл config-log, который он генерирует, чтобы дать больше информации о том, в чем заключается проблема…

This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

configure:563: checking for a BSD compatible install
configure:616: checking whether build environment is sane
configure:673: checking whether make sets ${MAKE}
configure:719: checking for working aclocal
configure:732: checking for working autoconf
configure:745: checking for working automake
configure:758: checking for working autoheader
configure:771: checking for working makeinfo
configure:787: checking whether make sets ${MAKE}
configure:816: checking for gcc
configure:929: checking whether the C compiler (gcc ) works
configure:945: gcc -o conftest conftest.c 1>&5
configure:942:1: warning: return type defaults to ‘int’ [-Wimplicit-int]
main(){return(0);}
^
configure:971: checking whether the C compiler (gcc ) is a cross-compiler
configure:976: checking whether we are using GNU C
configure:985: gcc -E conftest.c
configure:1004: checking whether gcc accepts -g
configure:1047: checking for a BSD compatible install
configure:1142: checking for sdl-config
configure:1177: checking for SDL - version >= 1.0.1
configure:1259: gcc -o conftest -g -O2 conftest.c 1>&5
configure:1206:21: fatal error: SDL/SDL.h: No such file or directory
compilation terminated.
configure: failed program was:
#line 1201 “configure”
#include “confdefs.h”

#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <SDL/SDL.h>

char*
my_strdup (char *str)
{
char *new_str;

if (str)
{
new_str = malloc ((strlen (str) + 1) * sizeof(char));
strcpy (new_str, str);
}
else
new_str = NULL;

return new_str;
}

int main ()
{
int major, minor, micro;
char *tmp_version;

system (“touch conf.sdltest”);

/* HP/UX 9 (%@#!) writes to sscanf strings */
tmp_version = my_strdup(“1.0.1”);
if (sscanf(tmp_version, “%d.%d.%d”, &major, &minor, µ) != 3) {
printf("%s, bad version string\n", “1.0.1”);
exit(1);
}

if (( > major) ||
(( == major) && ( > minor)) ||
(( == major) && ( == minor) && ( >= micro)))
{
return 0;
}
else
{
printf("\n*** ‘sdl-config --version’ returned %d.%d.%d, but the minimum version\n", , , );
printf("*** of SDL required is %d.%d.%d. If sdl-config is correct, then it is\n", major, minor, micro);
printf("*** best to upgrade to the required version.\n");
printf("*** If sdl-config was wrong, set the environment variable SDL_CONFIG\n");
printf("*** to point to the correct copy of sdl-config, and remove the file\n");
printf("*** config.cache before re-running configure\n");
return 1;
}
}

configure:1303: gcc -o conftest -g -O2 conftest.c 1>&5
configure:1296:21: fatal error: SDL/SDL.h: No such file or directory
compilation terminated.
configure: failed program was:
#line 1293 “configure”
#include “confdefs.h”

#include <stdio.h>
#include <SDL/SDL.h>

int main() {
return 0;
; return 0; }

So Whats the Issue that I am missing here thanks in advance… hope you guys can help me out on this one…


Что я уже пробовал:

Я пытался, но безуспешно, так что любая помощь была бы хороша....

2 Ответов

Рейтинг:
2

Richard MacCutchan

checking for SDL - version >= 1.0.1… configure: line 1181: /c/Program: No such file or directory

and 

configure:1296:21: fatal error: SDL/SDL.h: No such file or directory

Сообщения совершенно ясны, у вас нет каталога с именем SDL ни в одном из путей включения, а если и есть, то он не содержит SDL.h.

Так где же находится каталог SDL?


Member 13244531

Это в моем приводе с

C:\Program Files (x86)\SDL_MINGW32\SDL-1.0.1
вот так, что я делаю не так, любой совет.....

Richard MacCutchan

Это имя пути не совпадает. Посмотрите, что пытается найти сценарий make.

Рейтинг:
0

CPallini

Просто дикая догадка: сценарий configure не любит пробелы в c/Program Files (x86)/SDL_MINGW32/SDL-1.0.1/bin/sdl-config. путь.


Member 13244531

Эй, послушайте, не могли бы вы просто сказать мне, какую строку в этом скрипте настройки мне нужно изменить, и mabe пример, который поможет мне гораздо больше с чем-то, что я вижу, извините, но я старался изо всех сил, мне нужно какое-то руководство. Вот мой сценарий настройки, который я использовал pastebin, чтобы вы могли посмотреть на мой сценарий ... ради многих людей, пожалуйста, просто помогите мне....

https://pastebin.com/QjjiJvSj

Member 13244531

Мне удалось заставить его настроить и создать makfile, но я знаю, что столкнулся с этой ошибкой, может ли кто-нибудь сказать мне, что это за ошибка и как ее исправить.....

C:\Users\Relican\Desktop\sdl исходный код doom>make
makefile:163: warning: переопределение команд для target `.s.o'
makefile:160: предупреждение: игнорирование старых команд для target `.s.o'
ССЗ -DPACKAGE=\"sdldoom\" -DVERSION=\"1.10\" -И. -И. -Г -О2 -я в/usr/местные/кросс-инструменты/для i386-mingw32/включить-я{префикс}/числе/СДЛ-Dmain=SDL_main -с i_net.с
В файле, включенном из d_ticcmd.h:26:0,
от i_system.h:26,
из i_net.c:59:
doomtype.h:41:28: ошибка: конфликтующие типы для 'boolean'
typedef enum {false, true} boolean;
^
В файле, включенном из ./wtypes.h:8:0,
from ./winscard.h:10,
from ./windows.h:97,
из i_net.c:52:
./rpcndr.h:65:25: Примечание: предыдущее объявление 'boolean' было здесь
определение типа неподписанные символ логическое;
^
i_net.c:110:17: error: 'IPPORT_USERRESERVED' undeclared here (не в функции)
int DOOMPORT = (IPPORT_USERRESERVED +0x1d );
^
i_net.c: в функции 'PacketSend':
i_net.c:183:30: предупреждение: передача аргумента 2 'sendto' из несовместимого типа указателя [-Wincompatible-pointer-types]
c = sendto (sendsocket , &sw, doomcom->datalength
^
В файле, включенном из ./windows.h:92:0,
из i_net.c:52:
./в winsock.ч:302:34: Примечание: ожидается 'константный тип char *', но аргумент имеет тип doomdata_t ' * {структура ака &ЛТ;анонимный&ГТ; *}'
WINSOCK_API_LINKAGE инт WSAAPI команду sendto(гнездо s,константный тип char *буфер buf,int и лен,инт флаги,константные структуры структуры *к,инт Толен);
^
i_net.c: в функции 'PacketGet':
i_net.c:204:29: предупреждение: передача аргумента 2 'recvfrom' из несовместимого типа указателя [-Wincompatible-pointer-types]
c = recvfrom (insocket, &sw, sizeof(sw), 0
^
В файле, включенном из ./windows.h:92:0,
из i_net.c:52:
./winsock.h:297:34: Примечание: ожидается 'char *', но аргумент имеет тип 'doomdata_t * {aka struct <anonymous> *}'
WINSOCK_API_LINKAGE инт WSAAPI вызов recvfrom(исполнение с типа char *буфер buf,int и лен,инт флаги,структуры структуры *с,тип int *fromlen);
^
make: *** [i_net.o] Ошибка 1