expected ')' before 'a'

Totalitatea subiectelor care nu respectă regulamentul impus in sectiunea "Probleme şi Întrebări" vor fi stocate aici.
Închis
Avatar utilizator
CjMt2
Nivel 2

Nivel 2
Mesaje: 291
Membru din: 20 Sep 2014, 07:01
Server: CjMt2
Regat: Shinsoo
Aprecieri: 18  
Mulţumiri: 22  
Discord: Copiază ID
 Contact:
Medalii

Incerc sa compilez sursa db (sf fliege) pe:

Cod: Selectaţi tot

# uname -a
FreeBSD localhost 12.0-RELEASE FreeBSD 12.0-RELEASE r341666 GENERIC  i386
Am instalat printre altele si :

Cod: Selectaţi tot

boost-all-1.68.0
boost-libs-1.68.0_1
clang-devel-8.d20181001
cmake-3.12.2
cryptopp-7.0.0
devil-1.7.8_23,1
gcc7-7.3.0_5
gmake-4.2.1_2
googletest-1.8.1
Comanda gmake -j20 returneaza:

Cod: Selectaţi tot

In file included from /usr/local/include/boost/predef/os/bsd/free.h:37:0,
                 from /usr/local/include/boost/predef/os/bsd.h:96,
                 from /usr/local/include/boost/predef/os/bsd/dragonfly.h:11,
                 from /usr/local/include/boost/predef/os/bsd.h:95,
                 from /usr/local/include/boost/predef/os/bsd/bsdi.h:11,
                 from /usr/local/include/boost/predef/os/bsd.h:52,
                 from /usr/local/include/boost/predef/os.h:18,
                 from /usr/local/include/boost/predef.h:17,
                 from /usr/local/include/boost/unordered/detail/fwd.hpp:14,
                 from /usr/local/include/boost/unordered/detail/implementation.hpp:44,
                 from /usr/local/include/boost/unordered/detail/map.hpp:6,
                 from /usr/local/include/boost/unordered/unordered_map.hpp:21,
                 from /usr/local/include/boost/unordered_map.hpp:17,
                 from ClientManager.h:5,
                 from Monarch.cpp:4:
../../common/stl.h:99:32: error: expected ')' before 'a'
  template <typename T> T MIN(T a, T b)
                                ^
../../common/stl.h:99:32: error: expected ')' before 'a'
../../common/stl.h:99:32: error: expected ')' before 'a'
../../common/stl.h:104:32: error: expected ')' before 'a'
  template <typename T> T MAX(T a, T b)
                                ^
../../common/stl.h:104:32: error: expected ')' before 'a'
../../common/stl.h:104:32: error: expected ')' before 'a

ClientManager.h:5: #include <boost/unordered_map.hpp>
Monarch.cpp4: #include "ClientManager.h"
stl.h 103-119:

Cod: Selectaţi tot

	template <typename T> T MIN(T a, T b)
	{
		return a < b ? a : b;
	}

	template <typename T> T MAX(T a, T b)
	{
		return a > b ? a : b;
	}

	template <typename T> T MINMAX(T min, T value, T max)
	{
		T tv;

		tv = (min > value ? min : value);
		return (max < tv) ? max : tv;
	}

Vreau sa compilez pe FreeBSD12, trecerea la 9.2 nu este o solutie pentru mine.
Din pacate c++ mai am de invatat asa ca poate cineva poate sa imi explice ce si unde sa modific.
Multumesc.
Daca nu era freebsd open source si rain nu ar fi furat filele sursei de la ymir azi nu exista acest forum.
Afișează semnătura
Avatar utilizator
Titan
Metin Master

Metin Master
Mesaje: 2783
Membru din: 01 Iun 2015, 15:09
Server: In curand.
Regat: Chunjo
Aprecieri: 42  
Mulţumiri: 377  
  Rezolvări prob.: 3
Discord: Copiază ID
 Contact:
Medalii

De vină este boost-ul, încearcă să compilezi cu cel de pe care-l au sursele din freebsd-ul 9.2 de la ymir și ai să vezi că funcționează, pentru a compila cu versiuni mai noi de boost este necesar să treci pe c++11/17 și să modifici codul:
https://en.cppreference.com/w/cpp/algorithm/min
https://en.cppreference.com/w/cpp/algorithm/max
https://en.cppreference.com/w/cpp/algorithm/minmax

Nu uita de #include <algorithm> pentru că această librărie găzduiește acele funcții.
Imagine
Afișează semnătura
Avatar utilizator
CjMt2
Nivel 2

Nivel 2
Mesaje: 291
Membru din: 20 Sep 2014, 07:01
Server: CjMt2
Regat: Shinsoo
Aprecieri: 18  
Mulţumiri: 22  
Discord: Copiază ID
 Contact:
Medalii

Multumesc pentru raspuns
.Titan scrie:De vină este boost-ul, încearcă să compilezi cu cel de pe care-l au sursele din freebsd-ul 9.2 de la ymir și ai să vezi că funcționează, pentru a compila cu versiuni mai noi de boost este necesar să treci pe c++11/17 și să modifici codul:
https://en.cppreference.com/w/cpp/algorithm/min
https://en.cppreference.com/w/cpp/algorithm/max
https://en.cppreference.com/w/cpp/algorithm/minmax

Nu uita de #include <algorithm> pentru că această librărie găzduiește acele funcții.
Tocmai ca asta am incercat sa fac, mai mult am incercat inclusiv sa recompilez boost pe 9.2 apoi sa mut pe 12 si tot raman probleme. De include nu am uitat. Banuiesc ca trebuie rescrise pur si simplu cele 3 functii dar nu stiu cum sa fac asta (sintaxa c++) sau cel putin nu a fost tocmai succes cea ce am obtinut.
Daca nu era freebsd open source si rain nu ar fi furat filele sursei de la ymir azi nu exista acest forum.
Afișează semnătura
Avatar utilizator
Filipino
Metin Master

Metin Master
Mesaje: 2789
Membru din: 03 Sep 2014, 21:02
Server: ▬▬▬▬▬▬
Aprecieri: 39  
Mulţumiri: 786  
Discord: Copiază ID
Medalii

NOU ! Dacă în 3 zile autorul subiectului nu va da niciun semn de viata în topic, subiectul va fi mutat în Arhivă Probleme şi Întrebări.
Imagine
Afișează semnătura
Închis

Înapoi la “Arhivă Probleme şi Întrebări”

  • Informaţie
  • Cine este conectat

    Utilizatori ce ce navighează pe acest forum: Niciun utilizator înregistrat și 40 vizitatori