Panel użytkownika
Nazwa użytkownika:
Hasło:
Nie masz jeszcze konta?

linkowanie statyczne plików MinGW w CodeBlocks

Ostatnio zmodyfikowano 2022-10-17 17:08
Autor Wiadomość
AP1994
Temat założony przez niniejszego użytkownika
» 2022-10-12 19:32:21
code blocks 20.03
version_info.txt:

winlibs personal build version gcc-12.2.0-mingw-w64ucrt-10.0.0-r2

This is the winlibs 64-bit standalone build of:
- GCC 12.2.0
- GDB 12.1
- MinGW-w64 10.0.0 (linked with ucrt)
- GNU Binutils 2.39
- GNU Make 4.3
- PExports 0.47
- dos2unix 7.4.3
- Yasm 1.3.0
- NASM 2.15.05
- JWasm 2.12pre
- ninja 1.11.0
- doxygen 1.9.5

This build was compiled with GCC 12.2.0 and packaged on 2022-08-28.

Please check out http://winlibs.com/ for the latest personal build.
P-179704
pekfos
» 2022-10-12 22:00:57
version_info.txt
Lepiej usuń czynnik ludzki i dodaj -v do opcji kompilatora. GCC 12.2 to nie jest wersja dołączona do C::B, byłoby głupio jakbyś używał innego kompilatora niż myślisz. U mnie działa. Kompilator "GCC 12.2.0 + LLVM/Clang/LLD/LLDB 14.0.6 + MinGW-w64 10.0.0 (UCRT) - release 2" z winlibs.com, allegro i zależności z linków które się pojawiały gdzieś w tym temacie.
C:\stuff\ALLEGRO>g++ -v
Using built-in specs.
COLLECT_GCC=g++
COLLECT_LTO_WRAPPER=c:/mingw64/bin/../libexec/gcc/x86_64-w64-mingw32/12.2.0/lto-wrapper.exe
OFFLOAD_TARGET_NAMES=nvptx-none
Target: x86_64-w64-mingw32
Configured with: ../configure --prefix=/r/winlibs64-11.3.0ucrt/2604.gcc/inst_gcc-12.2.0/share/gcc --build=x86_64-w64-mingw32 --host=x86_64-w64-mingw32 --enable-offload-targets=nvptx-none --with-pkgversion='MinGW-W64 x86_64-ucrt-posix-seh, built by Brecht Sanders' --with-tune=generic --enable-checking=release --enable-threads=posix --disable-sjlj-exceptions --disable-libunwind-exceptions --disable-serial-configure --disable-bootstrap --enable-host-shared --enable-plugin --disable-default-ssp --disable-rpath --disable-libstdcxx-debug --disable-version-specific-runtime-libs --with-stabs --disable-symvers --enable-languages=c,c++,fortran,lto,objc,obj-c++,jit --disable-gold --disable-nls --disable-stage1-checking --disable-win32-registry --disable-multilib --enable-ld --enable-libquadmath --enable-libada --enable-libssp --enable-libstdcxx --enable-lto --enable-fully-dynamic-string --enable-libgomp --enable-graphite --enable-mingw-wildcard --enable-libstdcxx-time --disable-libstdcxx-pch --with-mpc=/e/Prog/winlibs64-11.3.0ucrt/custombuilt --with-mpfr=/e/Prog/winlibs64-11.3.0ucrt/custombuilt --with-gmp=/e/Prog/winlibs64-11.3.0ucrt/custombuilt --with-isl=/e/Prog/winlibs64-11.3.0ucrt/custombuilt --enable-libstdcxx-backtrace --enable-install-libiberty --enable-__cxa_atexit --without-included-gettext --with-diagnostics-color=auto --enable-clocale=generic --with-libiconv --with-system-zlib --with-build-sysroot=/r/winlibs64-11.3.0ucrt/2604.gcc/gcc-12.2.0/build_mingw/mingw-w64 CFLAGS='-I/e/Prog/winlibs64-11.3.0ucrt/custombuilt/include/libdl-win32 -D__USE_MINGW_ACCESS' CXXFLAGS=-D__USE_MINGW_ACCESS LDFLAGS='-Wl,--disable-nxcompat -Wl,--disable-high-entropy-va -Wl,--disable-dynamicbase'
Thread model: posix
Supported LTO compression algorithms: zlib zstd
gcc version 12.2.0 (MinGW-W64 x86_64-ucrt-posix-seh, built by Brecht Sanders)

C:\stuff\ALLEGRO>g++ -c a.cpp -o a.o -I deps/include -Wall -DALLEGRO_STATICLINK -fexceptions -g -Wl,-allow-multiple-definition

C:\stuff\ALLEGRO>g++ -o a.exe a.o -L deps/lib -static-libstdc++ -static-libgcc -static -s  -lallegro_monolith-debug-static -ljpeg -ldumb -lwebp -lFLAC -lvorbisfile -lvorbis -logg -lphysfs -lfreetype -lpng16 -ldsound -lgdiplus -luuid -lkernel32 -lwinmm -lpsapi -lopengl32 -lglu32 -luser32 -lcomdlg32 -lgdi32 -lshell32 -lole32 -ladvapi32 -lws2_32 -lshlwapi -lpthread -lopusfile -lopus -lzlib

Kodu mam niewiele, w zasadzie kilka linii z jakiegoś przykładu plus wywołanie al_create_bitmap(), by na pewno wciągnęło bitmap.c z allegro, o które się kompilator czepia w twoich błędach.
C/C++
#include "allegro5/allegro.h"
#include <allegro5/allegro_primitives.h>
#include <cassert>

int main()
{
   
if( !al_init() ) {
       
assert( 0 );
   
}
   
   
al_init_primitives_addon();
   
al_install_keyboard();
   
al_install_mouse();
   
   
al_create_bitmap( 1, 1 );
}
Zobacz czy możesz zreprodukować mój rezultat, najlepiej wykonując ręcznie te same polecenia.
P-179705
AP1994
Temat założony przez niniejszego użytkownika
» 2022-10-13 16:12:28
w code blocks z -v i bez  -v nie zrobiło różnicy
a jak próbuje kompilować z konsoli to dostaje komunikat Serwer DNS nieautorytatywny dla strefy
P-179709
pekfos
» 2022-10-13 18:55:09
C/C++
#include <iostream>
int main()
{
   
std::cout << __VERSION__ << '\n';
}
Odpal to w Codeblocksie (i podaj rezultat).

a jak próbuje kompilować z konsoli to dostaje komunikat Serwer DNS nieautorytatywny dla strefy
Spróbuj https://social.technet.microsoft.com/Forums/windows/en-US/2d506b96-e856-4752-90af-4f8194bb0040/windows-7-command-prompt-message-errors-cmdexe?forum=w7itprogeneral
No i dodaj kompilator do PATH (» Kurs C++» FAQProgram nie uruchamia się z exe: brak libgcc_s_dw2-1.dll, libstdc++-6.dll pytanie/odpowiedź)
P-179712
AP1994
Temat założony przez niniejszego użytkownika
» 2022-10-14 14:20:05
rezultat

8.1.0
Process returned 0 (0x0)   execution time : 0.020 s
Press any key to continue.
Spróbowałem dodać zmienną systemową folderu bin do PATH, ale zadziałało tak samo. A w konsoli dostałem:
D:\>gcc
gcc: fatal error: no input files
compilation terminated.
D:\>g++
g++: fatal error: no input files
compilation terminated.
D:\>
P-179713
pekfos
» 2022-10-14 19:16:31
Czyli działa kompilowanie z terminala, ale to nie są polecenia które podałem. I co ważniejsze, 8.1.0 to nie jest kompilator który twierdzisz że używasz. To wersja dołączona do C::B.
NOTE: The codeblocks-20.03mingw-setup.exe file includes additionally the GCC/G++/GFortran compiler and GDB debugger from MinGW-W64 project (version 8.1.0, 32/64 bit, SEH).
Ustaw właściwy kompilator w C::B i podaj logi, jeśli wciąż nie będzie działać.
P-179714
AP1994
Temat założony przez niniejszego użytkownika
» 2022-10-15 02:40:14
Nie rozumiem jak kompilowanie z terminala może, działać skoro żadne polecenie dla g++ i gcc mi nie zadziałało.
Co do ustawiania kompilatora w C::B wersję, która instaluje się z codeblocks-20.03mingw-setup.exe usunąłem z dysku, gcc 8.1.0 i w to miejsce wypakowałem gcc 12.2.0, ponieważ nie zmieniła się nawet nazwa folderu to, zadziało od razu. Więc nic nie ustawiałem w C::B i nie wiem nawet jak miałbym poprzestawiać zakładkę "Tolchain executables".
P-179715
pekfos
» 2022-10-15 08:42:03
Nie rozumiem jak kompilowanie z terminala może, działać skoro żadne polecenie dla g++ i gcc mi nie zadziałało.
A to?
D:\>g++
g++: fatal error: no input files
compilation terminated.
To jest poprawne zachowanie.

usunąłem z dysku, gcc 8.1.0 i w to miejsce wypakowałem gcc 12.2.0, ponieważ nie zmieniła się nawet nazwa folderu to, zadziało od razu.
Zadziałało od razu = niczego nie osiągnąłeś, skoro dalej używasz GCC 8.1.0, za to spore szanse że coś zepsułeś. Najlepiej przestań kombinować po swojemu. Wypakuj kompilator w osobnej lokalizacji i wskaż go w ustawieniach C::B. To dosłownie jedna ścieżka i jest opisane gdzie ma prowadzić. Nazw programów nie musisz dotykać.
P-179716
1 2 3 4 « 5 » 6
Poprzednia strona Strona 5 z 6 Następna strona