Compilação

1. Compilação

Antonio Donato Filho
Donato100

(usa Ubuntu)

Enviado em 01/10/2021 - 15:22h

Como compliar esse codigo usaqndo o gcc?

g++ mersenne.cpp -o mersenne
https://pastebin.com/epgyhi7q

Alguem pode me ajudar?



  


2. Re: Compilação

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 01/10/2021 - 15:51h

De onde vem gmpxx.h ?
seria: gcc -o mersenne mersenne.cpp



3. Re: Compilação

Samuel Leonardo
SamL

(usa XUbuntu)

Enviado em 01/10/2021 - 17:43h


Donato100 escreveu:


leandropscardua escreveu:

De onde vem gmpxx.h ?
seria: gcc -o mersenne mersenne.cpp

vem da Library: GMP
Já está instalada.
https://rosettacode.org/wiki/Lucas-Lehmer_test#C.2B.2B
gcc -o mersenne mersenne.cpp ==>tambem deu erro.

gcc -o mersenne mersenne.cpp
/usr/bin/ld: /tmp/ccF4sEm6.o: na função "main":
mersenne.cpp:(.text+0x2fe): referência não definida para "__gmpz_nextprime"
/usr/bin/ld: mersenne.cpp:(.text+0x364): referência não definida para "std::cout"
/usr/bin/ld: mersenne.cpp:(.text+0x369): referência não definida para "std::basic_ostream<char, std::char_traits<char> >& std::operator<< <std::char_traits<char> >(std::basic_ostream<char, std::char_traits<char> >&, char const*)"

Falta completar com o link: -lgmp, só adicionar isso no final e compilar. Se não tiver nenenhuma outra dependência ou erro, vai compilar de boa.
Depois, execute com ./mersenne (ponto barra 'mersenne') e tecle enter






4. Re: Compilação

Antonio Donato Filho
Donato100

(usa Ubuntu)

Enviado em 01/10/2021 - 17:57h

https://rosettacode.org/wiki/Lucas-Lehmer_test#C

O mesmo script só que linguagem c
gcc mersenne.c -o mersenne.o -L/gmp_install/lib -lgmp


./mersenne.o
M2 M3 M5 M7 M13 M17 M19 M31 M61 M89 M107 M127 M521 M607 M1279 M2203 M2281 M3217 M4253 M4423 M9689 M9941 M11213 M19937 M21701 M23209






5. Re: Compilação

Samuel Leonardo
SamL

(usa XUbuntu)

Enviado em 01/10/2021 - 18:02h


Donato100 escreveu:

gcc -o mersenne mersenne.cpp

Compile com o g++, deixe o gcc pra linguagem C. Siga o que eu disse antes e adicione o -lgmp no final do comando. Mesma coisa do outro exemplo em C que vc mostrou, só que com o g++ para c++






6. Re: Compilação

Antonio Donato Filho
Donato100

(usa Ubuntu)

Enviado em 01/10/2021 - 18:03h

Du erro novamente.
g++ -o mersenne mersenne.cpp -lgmp
mersenne.cpp:4:31: error: ‘mpz_class’ was not declared in this scope; did you mean ‘mpz_clears’?
4 | static bool is_mersenne_prime(mpz_class p)
| ^~~~~~~~~



7. Re: Compilação

Samuel Leonardo
SamL

(usa XUbuntu)

Enviado em 01/10/2021 - 18:06h




Ai eu já nem sei o que pode ser. Seu código tá ok? Digo, sem erro de sintaxe? Ali só não achou o tal mpz_class. Tem que ver se seu código não tem erros se não nem adianta que não vai compilar. Tente pesquisar na internet um código simples como um hello world do gmp, e então experimente se tá tudo ok compilando o exemplo.


8. Re: Compilação

leandro peçanha scardua
leandropscardua

(usa Ubuntu)

Enviado em 02/10/2021 - 18:07h

Pelo q vi aqui vc precisa referenciar libstdc++ pq tem um símbolo que está definido ali e é necessário, por isso é mais fácil usar o g++







Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts