mathieuchartier / mcm

MCM file compressor
GNU General Public License v3.0
110 stars 24 forks source link

This project does not compile on ubuntu18.04 #15

Open bolunfeng opened 5 years ago

bolunfeng commented 5 years ago

In file included from Reorder.hpp:29:0, from BracketModel.hpp:29, from CM.hpp:31, from Archive.hpp:29, from Archive.cpp:24: Util.hpp:47:30: error: ‘noinline’ has not been declared

define NO_INLINE __declspec(noinline)

                          ^

Stream.hpp:259:3: note: in expansion of macro ‘NO_INLINE’ NO_INLINE bool Refill() { ^~~~~ Util.hpp:47:38: error: ISO C++ forbids declaration of ‘__declspec’ with no type [-fpermissive]

define NO_INLINE __declspec(noinline)

                                  ^

Stream.hpp:259:3: note: in expansion of macro ‘NO_INLINE’ NO_INLINE bool Refill() { ^~~~~ Util.hpp:47:38: error: expected ‘;’ at end of member declaration

define NO_INLINE __declspec(noinline)

                                  ^

Stream.hpp:259:3: note: in expansion of macro ‘NO_INLINE’ NO_INLINE bool Refill() { ^~~~~ Util.hpp:47:30: error: ‘noinline’ has not been declared

define NO_INLINE __declspec(noinline)

                          ^

Stream.hpp:285:3: note: in expansion of macro ‘NO_INLINE’ NO_INLINE void flush() { ^~~~~ Util.hpp:47:38: error: ISO C++ forbids declaration of ‘__declspec’ with no type [-fpermissive]

define NO_INLINE __declspec(noinline)

                                  ^

Stream.hpp:285:3: note: in expansion of macro ‘NO_INLINE’ NO_INLINE void flush() { ^~~~~ Util.hpp:47:38: error: expected ‘;’ at end of member declaration

define NO_INLINE __declspec(noinline)

                                  ^

Stream.hpp:285:3: note: in expansion of macro ‘NO_INLINE’ NOINLINE void flush() { ^~~~~ In file included from Detector.hpp:31:0, from CM.hpp:32, from Archive.hpp:29, from Archive.cpp:24: Dict.hpp:217:5: error: declaration of ‘FrequencyCounter<256>& Dict::Builder::FrequencyCounter()’ [-fpermissive] } ^ In file included from Reorder.hpp:29:0, from BracketModel.hpp:29, from CM.hpp:31, from Archive.hpp:29, from Archive.cpp:24: Util.hpp:498:7: error: changes meaning of ‘FrequencyCounter’ from ‘class FrequencyCounter<256>’ [-fpermissive] class FrequencyCounter { ^~~~ In file included from Wav16.hpp:32:0, from Detector.hpp:36, from CM.hpp:32, from Archive.hpp:29, from Archive.cpp:24: GD.hpp: In member function ‘Acc LinearPredictor<Weight, Acc, PredictorFunc>::Cost(const Input*, Acc) const’: GD.hpp:73:23: error: expected primary-expression before ‘>’ token return f.Cost(*this, inputs, actual); ^ In file included from Reorder.hpp:29:0, from BracketModel.hpp:29, from CM.hpp:31, from Archive.hpp:29, from Archive.cpp:24: MatchModel.hpp: At global scope: Util.hpp:47:30: error: ‘noinline’ has not been declared

define NO_INLINE __declspec(noinline)

                          ^

MatchModel.hpp:112:3: note: in expansion of macro ‘NO_INLINE’ NO_INLINE void search(Buffer& buffer, size_t spos) { ^~~~~ Util.hpp:47:38: error: ISO C++ forbids declaration of ‘__declspec’ with no type [-fpermissive]

define NO_INLINE __declspec(noinline)

                                  ^

MatchModel.hpp:112:3: note: in expansion of macro ‘NO_INLINE’ NO_INLINE void search(Buffer& buffer, size_t spos) { ^~~~~ Util.hpp:47:38: error: expected ‘;’ at end of member declaration

define NO_INLINE __declspec(noinline)

                                  ^

MatchModel.hpp:112:3: note: in expansion of macro ‘NO_INLINE’ NO_INLINE void search(Buffer& buffer, size_t spos) { ^~~~~ Util.hpp:47:30: error: ‘noinline’ has not been declared

define NO_INLINE __declspec(noinline)

                          ^

MatchModel.hpp:140:3: note: in expansion of macro ‘NO_INLINE’ NO_INLINE void update(Buffer& buffer) { ^~~~~ Util.hpp:47:38: error: ISO C++ forbids declaration of ‘__declspec’ with no type [-fpermissive]

define NO_INLINE __declspec(noinline)

                                  ^

MatchModel.hpp:140:3: note: in expansion of macro ‘NO_INLINE’ NO_INLINE void update(Buffer& buffer) { ^~~~~ Util.hpp:47:38: error: expected ‘;’ at end of member declaration

define NO_INLINE __declspec(noinline)

                                  ^

MatchModel.hpp:140:3: note: in expansion of macro ‘NO_INLINE’ NO_INLINE void update(Buffer& buffer) { ^~~~~ Util.hpp:47:19: error: ‘int MatchModel::__declspec(int)’ cannot be overloaded

define NO_INLINE __declspec(noinline)

               ^

MatchModel.hpp:140:3: note: in expansion of macro ‘NO_INLINE’ NO_INLINE void update(Buffer& buffer) { ^~~~~ Util.hpp:47:19: error: with ‘int MatchModel::__declspec(int)’

define NO_INLINE __declspec(noinline)

               ^

MatchModel.hpp:112:3: note: in expansion of macro ‘NO_INLINE’ NO_INLINE void search(Buffer& buffer, size_t spos) { ^~~~~ In file included from Archive.hpp:29:0, from Archive.cpp:24: CM.hpp: In member function ‘uint64_t cm::CM<kInputs, kUseSSE, HistoryType>::SolveOptimalLeaves(const uint64_t*)’: CM.hpp:825:14: error: there are no arguments to ‘DPOptimalLeaves’ that depend on a template parameter, so a declaration of ‘DPOptimalLeaves’ must be available [-fpermissive] return DPOptimalLeaves(cost, total, 0, 64); ^~~~~~~ CM.hpp:825:14: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated)