А чем компилировать .cpp файлы под Убунтой?
От: Mihal9  
Дата: 26.02.24 07:01
Оценка:
Вот проект:
https://github.com/jcasc/mancala-parallel-mcts

Запускаю:
gcc mancala.cpp -o manca

Вываливается тонна ошибок.
Re: А чем компилировать .cpp файлы под Убунтой?
От: kov_serg Россия  
Дата: 26.02.24 07:14
Оценка:
Здравствуйте, Mihal9, Вы писали:

M>Вот проект:

M>https://github.com/jcasc/mancala-parallel-mcts

M>Запускаю:

M>gcc mancala.cpp -o manca

build.sh
#!/bin/sh

g++-10 -o manca mancala.cpp -O2 -march=native -std=c++20 -lpthread
g++-10 -o manca_cache mancala_cache.cpp -O2 -march=native -std=c++20 -lpthread
g++-10 -o manca_nobias mancala_nobias.cpp -O2 -march=native -std=c++20 -lpthread
Отредактировано 26.02.2024 7:27 kov_serg . Предыдущая версия . Еще …
Отредактировано 26.02.2024 7:20 kov_serg . Предыдущая версия .
Отредактировано 26.02.2024 7:19 kov_serg . Предыдущая версия .
Отредактировано 26.02.2024 7:15 kov_serg . Предыдущая версия .
Re[2]: А чем компилировать .cpp файлы под Убунтой?
От: Mihal9  
Дата: 26.02.24 07:28
Оценка:
Здравствуйте, kov_serg, Вы писали:
_>g++-10 -std=c++20 mancala.cpp -lpthread -o manca -O2 -march=native

g++-10: command not found

Ok, sudo apt install g++-10

Reading package lists... Done
Building dependency tree
Reading state information... Done
Note, selecting 'clang-10-examples' for regex 'g++-10'
Note, selecting 'cuda-nvjpeg-10-1' for regex 'g++-10'
Note, selecting 'clang-10' for regex 'g++-10'
Note, selecting 'libclang-10-dev' for regex 'g++-10'
Note, selecting 'python-clang-10' for regex 'g++-10'
Note, selecting 'clang-10-doc' for regex 'g++-10'
Note, selecting 'python3-clang-10' for regex 'g++-10'
cuda-nvjpeg-10-1 is already the newest version (10.1.243-1).
cuda-nvjpeg-10-1 set to manually installed.
Some packages could not be installed. This may mean that you have
requested an impossible situation or if you are using the unstable
distribution that some required packages have not yet been created
or been moved out of Incoming.
The following information may help to resolve the situation:

The following packages have unmet dependencies:
clang-10 : Depends: libclang-common-10-dev (= 1:10.0.0-4ubuntu1~18.04.2) but it is not going to be installed
libclang-10-dev : Depends: libclang-common-10-dev (= 1:10.0.0-4ubuntu1~18.04.2) but it is not going to be installed
E: Unable to correct problems, you have held broken packages.


Что сие значит? Спасибо
Re[3]: А чем компилировать .cpp файлы под Убунтой?
От: kov_serg Россия  
Дата: 26.02.24 07:35
Оценка: 12 (1)
Здравствуйте, Mihal9, Вы писали:

M>Здравствуйте, kov_serg, Вы писали:

_>>g++-10 -std=c++20 mancala.cpp -lpthread -o manca -O2 -march=native

M>g++-10: command not found


M>Ok, sudo apt install g++-10


M>Reading package lists... Done

M>Building dependency tree
M>Reading state information... Done
M>Note, selecting 'clang-10-examples' for regex 'g++-10'
M>Note, selecting 'cuda-nvjpeg-10-1' for regex 'g++-10'
M>Note, selecting 'clang-10' for regex 'g++-10'
M>Note, selecting 'libclang-10-dev' for regex 'g++-10'
M>Note, selecting 'python-clang-10' for regex 'g++-10'
M>Note, selecting 'clang-10-doc' for regex 'g++-10'
M>Note, selecting 'python3-clang-10' for regex 'g++-10'
M>cuda-nvjpeg-10-1 is already the newest version (10.1.243-1).
M>cuda-nvjpeg-10-1 set to manually installed.
M>Some packages could not be installed. This may mean that you have
M>requested an impossible situation or if you are using the unstable
M>distribution that some required packages have not yet been created
M>or been moved out of Incoming.
M>The following information may help to resolve the situation:

M>The following packages have unmet dependencies:

M> clang-10 : Depends: libclang-common-10-dev (= 1:10.0.0-4ubuntu1~18.04.2) but it is not going to be installed
M> libclang-10-dev : Depends: libclang-common-10-dev (= 1:10.0.0-4ubuntu1~18.04.2) but it is not going to be installed
M>E: Unable to correct problems, you have held broken packages.


M>Что сие значит? Спасибо


sudo aptitude install g++10
и потом выбираете вариант который устроит

ps: занимательная книжка p.36,p.99
Отредактировано 26.02.2024 7:36 kov_serg . Предыдущая версия .
Re[4]: А чем компилировать .cpp файлы под Убунтой?
От: Mihal9  
Дата: 26.02.24 08:26
Оценка:
Здравствуйте, kov_serg, Вы писали:


_>sudo aptitude install g++10

_>и потом выбираете вариант который устроит

_>ps: занимательная книжка p.36,p.99


aptitude не находит

Тоже любите логические игры?)
Re[5]: А чем компилировать .cpp файлы под Убунтой?
От: kov_serg Россия  
Дата: 26.02.24 08:33
Оценка:
Здравствуйте, Mihal9, Вы писали:

M>aptitude не находит

Так вы его сначала установите

вариант для ubuntu18
https://askubuntu.com/questions/1192955/how-to-install-g-10-on-ubuntu-18-04
для +18
https://www.linuxcapable.com/how-to-install-gcc-compiler-on-ubuntu-linux

M>Тоже любите логические игры?)

да
Отредактировано 26.02.2024 8:38 kov_serg . Предыдущая версия .
Re[6]: А чем компилировать .cpp файлы под Убунтой?
От: Mihal9  
Дата: 26.02.24 08:47
Оценка:
Здравствуйте, kov_serg, Вы писали:

M>>Тоже любите логические игры?)

_>да


для каких игр писали компьютерные версии?
Re: А чем компилировать .cpp файлы под Убунтой?
От: Dair Россия https://dair.spb.ru
Дата: 26.02.24 08:55
Оценка:
Здравствуйте, Mihal9, Вы писали:

M>gcc mancala.cpp -o manca


M>Вываливается тонна ошибок.


g++ потому что

gcc — это GNU C Compiler
Тебе нужен g++ — для С++.

Ну или вот clang++ тоже подойдёт.
Re: А чем компилировать .cpp файлы под Убунтой?
От: Кодт Россия  
Дата: 26.02.24 12:54
Оценка:
Здравствуйте, Mihal9, Вы писали:

M>gcc mancala.cpp -o manca


gcc по дефолту компилирует си
надо указать g++ либо gcc -x c++ (и притащить туда все библиотеки плюсового рантайма, иначе он скомпилирует, но не слинкует).

Кстати, расширение .cpp может означать или C++, или, внезапно, C PreProcessed. Поэтому гусь задефолтился не к тому языку.
Если переименовать в .cxx или .cc, то компилятор будет для плюсов, но с линкером всё равно облом.
Так что самый простой путь — это именно g++.

Дебиановский пакет называется не "g++10", а gcc-10, ставить компилятор С++ без С нереально.
Перекуём баги на фичи!
Re: А чем компилировать .cpp файлы под Убунтой?
От: wl. Россия  
Дата: 01.03.24 13:06
Оценка:
Здравствуйте, Mihal9, Вы писали:

M>Вот проект:

M>https://github.com/jcasc/mancala-parallel-mcts

M>Запускаю:

M>gcc mancala.cpp -o manca

M>Вываливается тонна ошибок.


там в readme написано как компилить: clang++ -std=c++20 -O3 -o mancala mancala.cpp

так что ставь clang: sudo apt install clang -y

на ubuntu 22.04 по умолчанию ставится версия 14.0, скорее всего она поддерживает c++20

wl@Win10-iMac:~$ clang++ --version
Ubuntu clang version 14.0.0-1ubuntu1.1
Target: x86_64-pc-linux-gnu
Thread model: posix
InstalledDir: /usr/bin


под WSL не захотело компилиться, пришлось добавить библиотеку atomic:

clang++ -std=c++20 -O3 -o mancala mancala.cpp -latomic
Отредактировано 01.03.2024 13:13 wl. . Предыдущая версия .
Re[2]: А чем компилировать .cpp файлы под Убунтой?
От: Mihal9  
Дата: 02.03.24 05:42
Оценка:
Здравствуйте, wl., Вы писали:


wl.>там в readme написано как компилить: clang++ -std=c++20 -O3 -o mancala mancala.cpp


Это автор недавно добавил. Не было этого ридми на момент моего вопроса
Re[3]: А чем компилировать .cpp файлы под Убунтой?
От: wl. Россия  
Дата: 02.03.24 12:01
Оценка:
Здравствуйте, Mihal9, Вы писали:

wl.>>там в readme написано как компилить: clang++ -std=c++20 -O3 -o mancala mancala.cpp


M>Это автор недавно добавил. Не было этого ридми на момент моего вопроса


понятно. Ну и как, смог в итоге скомпилить игрулю?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.