Closed zTrix closed 10 years ago
Hey there,
Yeah, I'm currently doing quite some changes in rp++ and I'm testing all of those only on Windows at the moment. So I'm not really surprised to see errors when compiling with g++ ; I will make sure that it compiles on other platforms when my changes for the v2 will be ready. The latest version of rp++ I know successfully compiling on Linux is this one: https://github.com/0vercl0k/rp/releases
Cheers, 0vercl0k
2014-05-15 10:50 GMT+01:00 Wenlei Zhu notifications@github.com:
Hi, could you provide the instructions to build rp++? I used to compile without errors, but when I pulled the latest commit today, things started going wrong showed as follows:
[ 4%] Building CXX object CMakeFiles/rp-lin-x64.dir/src/macho.cpp.o /usr/bin/c++ -Wall -O2 -static -s -Wl,-z,relro,-z,now -fstack-protector-all -m64 -O3 -DNDEBUG -I/root/tools/rp/./src/inc -I/root/tools/rp/./lib/beaengine/inc -I/root/tools/rp/./lib/argtable2/inc -I/root/tools/rp/./lib/capstone/inc -o CMakeFiles/rp-lin-x64.dir/src/macho.cpp.o -c /root/tools/rp/src/macho.cpp In file included from /root/tools/rp/./src/inc/toolbox.hpp:28:0, from /root/tools/rp/./src/inc/macho_struct.hpp:24, from /root/tools/rp/./src/inc/macho.hpp:23, from /root/tools/rp/src/macho.cpp:20: /root/tools/rp/./src/inc/gadget.hpp:70:19: error: ‘shared_ptr’ is not a member of ‘std’ std::liststd::shared_ptr
get_instructions(void); ^ /root/tools/rp/./src/inc/gadget.hpp:70:19: error: ‘shared_ptr’ is not a member of ‘std’ /root/tools/rp/./src/inc/gadget.hpp:70:70: error: a function call cannot appear in a constant-expression std::liststd::shared_ptr get_instructions(void); ^ /root/tools/rp/./src/inc/gadget.hpp:70:70: error: template argument 1 is invalid /root/tools/rp/./src/inc/gadget.hpp:70:70: error: template argument 2 is invalid /root/tools/rp/./src/inc/gadget.hpp:107:14: error: ‘shared_ptr’ in namespace ‘std’ does not name a template type std::shared_ptr get_ending_instruction(void); ^ /root/tools/rp/./src/inc/gadget.hpp:115:40: error: ‘shared_ptr’ in namespace ‘std’ does not name a template type bool operator()(const std::shared_ptr g, const std::shared_ptr d) const ^ /root/tools/rp/./src/inc/gadget.hpp:115:50: error: expected ‘,’ or ‘...’ before ‘<’ token bool operator()(const std::shared_ptr g, const std::shared_ptr d) const ^ /root/tools/rp/./src/inc/gadget.hpp:127:19: error: ‘shared_ptr’ is not a member of ‘std’ std::liststd::shared_ptr minstructions; /!< the list of the different instructions composing the gadget_/ ^ /root/tools/rp/./src/inc/gadget.hpp:127:19: error: ‘shared_ptr’ is not a member of ‘std’ /root/tools/rp/./src/inc/gadget.hpp:127:49: error: ‘m_instructions’ was not declared in this scope std::liststd::shared_ptr minstructions; /!< the list of the different instructions composing the gadget_/ ^ /root/tools/rp/./src/inc/gadget.hpp:127:49: error: template argument 1 is invalid /root/tools/rp/./src/inc/gadget.hpp:127:49: error: template argument 2 is invalid /root/tools/rp/./src/inc/gadget.hpp: In member function ‘bool Gadget::Sort::operator()(int) const’: /root/tools/rp/./src/inc/gadget.hpp:117:24: error: ‘g’ was not declared in this scope return g->get_disassembly() < d->get_disassembly(); ^ /root/tools/rp/./src/inc/gadget.hpp:117:47: error: ‘d’ was not declared in this scope return g->get_disassembly() < d->get_disassembly(); ^ In file included from /root/tools/rp/./src/inc/macho_struct.hpp:24:0, from /root/tools/rp/./src/inc/macho.hpp:23, from /root/tools/rp/src/macho.cpp:20: /root/tools/rp/./src/inc/toolbox.hpp: At global scope: /root/tools/rp/./src/inc/toolbox.hpp:98:40: error: ‘shared_ptr’ is not a member of ‘std’ void only_unique_gadgets(std::multisetstd::shared_ptr<Gadget, Gadget::Sort> &list_gadgets, std::setstd::shared_ptr<Gadget, Gadget::Sort> &unique_gadgets); ^ /root/tools/rp/./src/inc/toolbox.hpp:98:40: error: ‘shared_ptr’ is not a member of ‘std’ /root/tools/rp/./src/inc/toolbox.hpp:98:62: error: template argument 1 is invalid void only_unique_gadgets(std::multisetstd::shared_ptr<Gadget, Gadget::Sort> &list_gadgets, std::setstd::shared_ptr<Gadget, Gadget::Sort> &unique_gadgets); ^ /root/tools/rp/./src/inc/toolbox.hpp:98:62: error: template argument 2 is invalid /root/tools/rp/./src/inc/toolbox.hpp:98:62: error: template argument 3 is invalid /root/tools/rp/./src/inc/toolbox.hpp:98:40: error: ‘shared_ptr’ is not a member of ‘std’ void only_unique_gadgets(std::multisetstd::shared_ptr<Gadget, Gadget::Sort> &list_gadgets, std::setstd::shared_ptr<Gadget, Gadget::Sort> &unique_gadgets); ^ /root/tools/rp/./src/inc/toolbox.hpp:98:40: error: ‘shared_ptr’ is not a member of ‘std’ /root/tools/rp/./src/inc/toolbox.hpp:98:62: error: template argument 1 is invalid void only_unique_gadgets(std::multisetstd::shared_ptr<Gadget, Gadget::Sort> &list_gadgets, std::setstd::shared_ptr<Gadget, Gadget::Sort> &unique_gadgets); ^ /root/tools/rp/./src/inc/toolbox.hpp:98:62: error: template argument 2 is invalid /root/tools/rp/./src/inc/toolbox.hpp:98:62: error: template argument 3 is invalid /root/tools/rp/./src/inc/toolbox.hpp:98:31: error: variable or field ‘only_unique_gadgets’ declared void void only_unique_gadgets(std::multisetstd::shared_ptr<Gadget, Gadget::Sort> &list_gadgets, std::setstd::shared_ptr<Gadget, Gadget::Sort> &unique_gadgets); ^ /root/tools/rp/./src/inc/toolbox.hpp:98:40: error: ‘shared_ptr’ is not a member of ‘std’ void only_unique_gadgets(std::multisetstd::shared_ptr<Gadget, Gadget::Sort> &list_gadgets, std::setstd::shared_ptr<Gadget, Gadget::Sort> &unique_gadgets); ^ /root/tools/rp/./src/inc/toolbox.hpp:98:40: error: ‘shared_ptr’ is not a member of ‘std’ /root/tools/rp/./src/inc/toolbox.hpp:98:62: error: template argument 1 is invalid void only_unique_gadgets(std::multisetstd::shared_ptr<Gadget, Gadget::Sort> &list_gadgets, std::setstd::shared_ptr<Gadget, Gadget::Sort> &unique_gadgets); ^ /root/tools/rp/./src/inc/toolbox.hpp:98:62: error: template argument 2 is invalid /root/tools/rp/./src/inc/toolbox.hpp:98:62: error: template argument 3 is invalid /root/tools/rp/./src/inc/toolbox.hpp:98:77: error: expected primary-expression before ‘>’ token void only_unique_gadgets(std::multisetstd::shared_ptr<Gadget, Gadget::Sort> &list_gadgets, std::setstd::shared_ptr<Gadget, Gadget::Sort> &unique_gadgets); ^ /root/tools/rp/./src/inc/toolbox.hpp:98:80: error: ‘list_gadgets’ was not declared in this scope void only_unique_gadgets(std::multisetstd::shared_ptr<Gadget, Gadget::Sort> &list_gadgets, std::setstd::shared_ptr<Gadget, Gadget::Sort> &unique_gadgets); ^ /root/tools/rp/./src/inc/toolbox.hpp:98:103: error: ‘shared_ptr’ is not a member of ‘std’ void only_unique_gadgets(std::multisetstd::shared_ptr<Gadget, Gadget::Sort> &list_gadgets, std::setstd::shared_ptr<Gadget, Gadget::Sort> &unique_gadgets); ^ /root/tools/rp/./src/inc/toolbox.hpp:98:103: error: ‘shared_ptr’ is not a member of ‘std’ /root/tools/rp/./src/inc/toolbox.hpp:98:125: error: template argument 1 is invalid void only_unique_gadgets(std::multisetstd::shared_ptr<Gadget, Gadget::Sort> &list_gadgets, std::setstd::shared_ptr<Gadget, Gadget::Sort> &unique_gadgets); ^ /root/tools/rp/./src/inc/toolbox.hpp:98:125: error: template argument 2 is invalid /root/tools/rp/./src/inc/toolbox.hpp:98:125: error: template argument 3 is invalid /root/tools/rp/./src/inc/toolbox.hpp:98:140: error: expected primary-expression before ‘>’ token void only_unique_gadgets(std::multisetstd::shared_ptr<Gadget, Gadget::Sort> &list_gadgets, std::setstd::shared_ptr<Gadget, Gadget::Sort> &unique_gadgets); ^ /root/tools/rp/./src/inc/toolbox.hpp:98:143: error: ‘unique_gadgets’ was not declared in this scope void only_unique_gadgets(std::multisetstd::shared_ptr<Gadget, Gadget::Sort> &list_gadgets, std::setstd::shared_ptr<Gadget, Gadget::Sort> &unique_gadgets); ^ In file included from /root/tools/rp/./src/inc/macho.hpp:23:0, from /root/tools/rp/src/macho.cpp:20: /root/tools/rp/./src/inc/macho_struct.hpp:273:25: error: ‘shared_ptr’ is not a member of ‘std’ virtual std::vectorstd::shared_ptr get_executable_section(std::ifstream &file) = 0; ^ /root/tools/rp/./src/inc/macho_struct.hpp:273:25: error: ‘shared_ptr’ is not a member of ‘std’ /root/tools/rp/./src/inc/macho_struct.hpp:273:93: error: a function call cannot appear in a constant-expression virtual std::vectorstd::shared_ptr get_executable_section(std::ifstream &file) = 0; ^ /root/tools/rp/./src/inc/macho_struct.hpp:273:97: error: an assignment cannot appear in a constant-expression virtual std::vectorstd::shared_ptr get_executable_section(std::ifstream &file) = 0; ^ /root/tools/rp/./src/inc/macho_struct.hpp:273:97: error: template argument 1 is invalid /root/tools/rp/./src/inc/macho_struct.hpp:273:97: error: template argument 2 is invalid /root/tools/rp/./src/inc/macho_struct.hpp:273:18: error: ‘virtual’ can only be specified for functions virtual std::vectorstd::shared_ptr get_executable_section(std::ifstream &file) = 0; ^ /root/tools/rp/./src/inc/macho_struct.hpp:282:17: error: ‘shared_ptr’ is not a member of ‘std’ std::vectorstd::shared_ptr<RP_SEGMENT_COMMAND > seg_commands; ^ /root/tools/rp/./src/inc/macho_struct.hpp:282:17: error: ‘shared_ptr’ is not a member of ‘std’ /root/tools/rp/./src/inc/macho_struct.hpp:282:53: error: ‘>>’ should be ‘> >’ within a nested template argument list std::vectorstd::shared_ptr<RP_SEGMENT_COMMAND > seg_commands; ^ /root/tools/rp/./src/inc/macho_struct.hpp:282:53: error: template argument 1 is invalid /root/tools/rp/./src/inc/macho_struct.hpp:282:53: error: template argument 2 is invalid /root/tools/rp/./src/inc/macho_struct.hpp:282:55: error: expected unqualified-id before ‘>’ token std::vectorstd::shared_ptr<RP_SEGMENT_COMMAND > seg_commands; ^ /root/tools/rp/./src/inc/macho_struct.hpp:283:17: error: ‘shared_ptr’ is not a member of ‘std’ std::vectorstd::shared_ptr<RP_SECTION > sections; ^ /root/tools/rp/./src/inc/macho_struct.hpp:283:17: error: ‘shared_ptr’ is not a member of ‘std’ /root/tools/rp/./src/inc/macho_struct.hpp:283:45: error: ‘>>’ should be ‘> >’ within a nested template argument list std::vectorstd::shared_ptr<RP_SECTION > sections; ^ /root/tools/rp/./src/inc/macho_struct.hpp:283:45: error: template argument 1 is invalid /root/tools/rp/./src/inc/macho_struct.hpp:283:45: error: template argument 2 is invalid /root/tools/rp/./src/inc/macho_struct.hpp:283:47: error: expected unqualified-id before ‘>’ token std::vectorstd::shared_ptr<RP_SECTION > sections; ^ /root/tools/rp/./src/inc/macho_struct.hpp:285:34: error: ‘shared_ptr’ is not a member of ‘std’ typedef typename std::vectorstd::shared_ptr<RP_SECTION >::const_iterator iter_rp_section; ^ /root/tools/rp/./src/inc/macho_struct.hpp:285:34: error: ‘shared_ptr’ is not a member of ‘std’ /root/tools/rp/./src/inc/macho_struct.hpp:285:62: error: ‘>>’ should be ‘> >’ within a nested template argument list typedef typename std::vectorstd::shared_ptr<RP_SECTION >::const_iterator iter_rp_section; ^ /root/tools/rp/./src/inc/macho_struct.hpp:285:62: error: template argument 1 is invalid /root/tools/rp/./src/inc/macho_struct.hpp:285:62: error: template argument 2 is invalid /root/tools/rp/./src/inc/macho_struct.hpp:285:64: error: expected identifier before ‘>’ token typedef typename std::vectorstd::shared_ptr<RP_SECTION >::const_iterator iter_rp_section; ^ /root/tools/rp/./src/inc/macho_struct.hpp:285:64: error: expected unqualified-id before ‘>’ token /root/tools/rp/./src/inc/macho_struct.hpp:286:34: error: ‘shared_ptr’ is not a member of ‘std’ typedef typename std::vectorstd::shared_ptr<RP_SEGMENT_COMMAND >::const_iterator iter_rp_segment; ^ /root/tools/rp/./src/inc/macho_struct.hpp:286:34: error: ‘shared_ptr’ is not a member of ‘std’ /root/tools/rp/./src/inc/macho_struct.hpp:286:70: error: ‘>>’ should be ‘> >’ within a nested template argument list typedef typename std::vectorstd::shared_ptr<RP_SEGMENT_COMMAND >::const_iterator iter_rp_segment; ^ /root/tools/rp/./src/inc/macho_struct.hpp:286:70: error: template argument 1 is invalid /root/tools/rp/./src/inc/macho_struct.hpp:286:70: error: template argument 2 is invalid /root/tools/rp/./src/inc/macho_struct.hpp:286:72: error: expected identifier before ‘>’ token typedef typename std::vectorstd::shared_ptr<RP_SEGMENT_COMMAND >::const_iterator iter_rp_segment; ^ /root/tools/rp/./src/inc/macho_struct.hpp:286:72: error: expected unqualified-id before ‘>’ token In file included from /root/tools/rp/./src/inc/macho.hpp:23:0, from /root/tools/rp/src/macho.cpp:20: /root/tools/rp/./src/inc/macho_struct.hpp:358:17: error: ‘shared_ptr’ is not a member of ‘std’ std::vectorstd::shared_ptr get_executable_section(std::ifstream &file) ^ /root/tools/rp/./src/inc/macho_struct.hpp:358:17: error: ‘shared_ptr’ is not a member of ‘std’ /root/tools/rp/./src/inc/macho_struct.hpp:358:85: error: a function call cannot appear in a constant-expression std::vectorstd::shared_ptr get_executable_section(std::ifstream &file) ^ /root/tools/rp/./src/inc/macho_struct.hpp:358:85: error: template argument 1 is invalid /root/tools/rp/./src/inc/macho_struct.hpp:358:85: error: template argument 2 is invalid /root/tools/rp/./src/inc/macho_struct.hpp:359:5: error: expected unqualified-id before ‘{’ token { ^ /root/tools/rp/src/macho.cpp:106:1: error: expected ‘}’ at end of input } ^ In file included from /root/tools/rp/./src/inc/macho.hpp:23:0, from /root/tools/rp/src/macho.cpp:20: /root/tools/rp/./src/inc/macho_struct.hpp: In member function ‘void MachoArchLayout ::fill_structures(std::ifstream&)’: /root/tools/rp/./src/inc/macho_struct.hpp:317:21: error: ‘shared_ptr’ is not a member of ‘std’ std::shared_ptr<RP_SEGMENT_COMMAND > seg_cmd = std::make_shared<RP_SEGMENT_COMMAND >(); ^ /root/tools/rp/./src/inc/macho_struct.hpp:317:57: error: spurious ‘>>’, use ‘>’ to terminate a template argument list std::shared_ptr<RP_SEGMENT_COMMAND > seg_cmd = std::make_shared<RP_SEGMENT_COMMAND >(); ^ /root/tools/rp/./src/inc/macho_struct.hpp:317:60: error: expected primary-expression before ‘seg_cmd’ std::shared_ptr<RP_SEGMENT_COMMAND > seg_cmd = std::make_shared<RP_SEGMENT_COMMAND >(); ^ /root/tools/rp/./src/inc/macho_struct.hpp:319:38: error: ‘segcmd’ was not declared in this scope file.read((char)seg_cmd.get(), sizeof(RP_SEGMENT_COMMAND )); ^ /root/tools/rp/./src/inc/macho_struct.hpp:320:21: error: ‘seg_commands’ was not declared in this scope seg_commands.push_back(seg_cmd); ^ /root/tools/rp/./src/inc/macho_struct.hpp:322:66: error: there are no arguments to ‘_stricmp’ that depend on a template parameter, so a declaration of ‘_stricmp’ must be available [-fpermissive] if(stricmp((char)seg_cmd->segname, "TEXT") == 0) ^ /root/tools/rp/./src/inc/macho_struct.hpp:322:66: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) /root/tools/rp/./src/inc/macho_struct.hpp:333:25: error: ‘shared_ptr’ is not a member of ‘std’ std::shared_ptr<RP_SECTION > sect = std::make_shared<RP_SECTION normal_iterator<_Iterator, Container>::operator<const std::shared_ptr<RPSECTION>(); ^ /root/tools/rp/./src/inc/macho_struct.hpp:333:53: error: spurious ‘>>’, use ‘>’ to terminate a template argument list std::shared_ptr<RP_SECTION > sect = std::make_shared<RP_SECTION >(); ^ /root/tools/rp/./src/inc/macho_struct.hpp:333:56: error: expected primary-expression before ‘sect’ std::shared_ptr<RP_SECTION > sect = std::make_shared<RP_SECTION >(); ^ /root/tools/rp/./src/inc/machostruct.hpp:335:42: error: ‘sect’ was not declared in this scope file.read((char)sect.get(), sizeof(RP_SECTION )); ^ /root/tools/rp/./src/inc/macho_struct.hpp:336:25: error: ‘sections’ was not declared in this scope sections.push_back(sect); ^ In file included from /root/tools/rp/./src/inc/macho.hpp:23:0, from /root/tools/rp/src/macho.cpp:20: /root/tools/rp/./src/inc/macho_struct.hpp: At global scope: /root/tools/rp/./src/inc/machostruct.hpp:356:5: error: expected unqualified-id at end of input } ^ CMakeFiles/rp-lin-x64.dir/build.make:57: recipe for target 'CMakeFiles/rp-lin-x64.dir/src/macho.cpp.o' failed make[2]: ** [CMakeFiles/rp-lin-x64.dir/src/macho.cpp.o] Error 1 CMakeFiles/Makefile2:63: recipe for target 'CMakeFiles/rp-lin-x64.dir/all' failed make[1]: * [CMakeFiles/rp-lin-x64.dir/all] Error 2 Makefile:75: recipe for target 'all' failed make: * [all] Error 2 :( rp # /usr/bin/c++ -std=c++0x -Wall -O2 -static -s -Wl,-z,relro,-z,now -fstack-protector-all -m64 -O3 -DNDEBUG -I/root/tools/rp/./src/inc -I/root/tools/rp/./lib/beaengine/inc -I/root/tools/rp/./lib/argtable2/inc -I/root/tools/rp/./lib/capstone/inc -o CMakeFiles/rp-lin-x64.dir/src/macho.cpp.o -c /root/tools/rp/src/macho.cpp In file included from /root/tools/rp/./src/inc/macho.hpp:23:0, from /root/tools/rp/src/macho.cpp:20: /root/tools/rp/./src/inc/macho_struct.hpp: In member function ‘void MachoArchLayout ::fill_structures(std::ifstream&)’: /root/tools/rp/./src/inc/macho_struct.hpp:322:66: error: there are no arguments to ‘_stricmp’ that depend on a template parameter, so a declaration of ‘_stricmp’ must be available [-fpermissive] if(stricmp((char)seg_cmd->segname, "TEXT") == 0) ^ /root/tools/rp/./src/inc/macho_struct.hpp:322:66: note: (if you use ‘-fpermissive’, G++ will accept your code, but allowing the use of an undeclared name is deprecated) /root/tools/rp/./src/inc/macho_struct.hpp: In instantiation of ‘void MachoArchLayout ::fill_structures(std::ifstream&) [with T = unsigned int; std::ifstream = std::basic_ifstream gnu_cxx::]’: /root/tools/rp/src/macho.cpp:106:1: required from here /root/tools/rp/./src/inc/macho_struct.hpp:322:66: error: ‘_stricmp’ was not declared in this scope In file included from /root/tools/rp/./src/inc/macho.hpp:23:0, from /root/tools/rp/src/macho.cpp:20: /root/tools/rp/./src/inc/macho_struct.hpp: In instantiation of ‘std::vectorstd::shared_ptr MachoArchLayout ::get_executable_section(std::ifstream&) [with T = unsigned int; std::ifstream = std::basic_ifstream ]’: /root/tools/rp/src/macho.cpp:106:1: required from here /root/tools/rp/./src/inc/macho_struct.hpp:371:17: error: cannot bind packed field ‘(& it. > , std::vector<std::shared_ptr<RP_SECTION>, std::allocator<std::shared_ptr<RP_SECTION > > > >())->std::shared_ptr<RP_SECTION >:: .std::shared_ptr<_Tp, _Lp>::operator-><RP_SECTION , ( gnu_cxx::_Lock_policy)2u>()->RP_SECTION::offset’ to ‘unsigned int&’ ); ^ In file included from /root/tools/rp/./src/inc/macho.hpp:23:0, from /root/tools/rp/src/macho.cpp:20: /root/tools/rp/./src/inc/macho_struct.hpp: In instantiation of ‘void MachoArchLayout ::fill_structures(std::ifstream&) [with T = long long unsigned int; std::ifstream = std::basic_ifstream ]’: /root/tools/rp/src/macho.cpp:106:1: required from here /root/tools/rp/./src/inc/macho_struct.hpp:322:66: error: ‘_stricmp’ was not declared in this scope if(stricmp((char)seg_cmd->segname, "TEXT") == 0) ^ In file included from /root/tools/rp/./src/inc/macho.hpp:23:0, from /root/tools/rp/src/macho.cpp:20: /root/tools/rp/./src/inc/macho_struct.hpp: In instantiation of ‘std::vectorstd::shared_ptr MachoArchLayout gnu_cxx::__normal_iterator<_Iterator, Container>::operator<const std::shared_ptr<RPSECTION::get_executable_section(std::ifstream&) [with T = long long unsigned int; std::ifstream = std::basic_ifstream ]’: /root/tools/rp/src/macho.cpp:106:1: required from here /root/tools/rp/./src/inc/macho_struct.hpp:371:17: error: cannot bind packed field ‘(& it. > , std::vector<std::shared_ptr<RP_SECTION>, std::allocator<std::shared_ptr<RP_SECTION > > > >())->std::shared_ptr<RP_SECTION >:: .std::shared_ptr<_Tp, _Lp>::operator-><RP_SECTION , ( gnu_cxx::_Lock_policy)2u>()->RP_SECTION::offset’ to ‘unsigned int&’ ); ^ Thanks.
— Reply to this email directly or view it on GitHubhttps://github.com/0vercl0k/rp/issues/1 .
Hello again,
You should be now able to build rp on linux x86/amd64 with this revision: https://github.com/0vercl0k/rp/tree/891ebb07c0bacf5342dd8ad83c3d37192fd413b3 ; if not ping me :). Although, keep in mind this is not an "official" release, I haven't made enough testing to be sure all is running smoothly so use it at your own risk!
Cheers, 0vercl0k
Hi, I can compile now. Thank you very much!
Still a little problem here. When I run
$ cd rp
$ cmake -f CmakeLists.txt
$ make
I have to apply the following patch to make it able to find the libs (beaengine, argtable and capstone)
diff --git a/CMakeLists.txt b/CMakeLists.txt
index 65d30f2..ec01585 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -86,19 +86,19 @@ add_executable(
add_library(beaengine STATIC IMPORTED)
set_property(
TARGET beaengine PROPERTY
- IMPORTED_LOCATION ../lib/beaengine/bin/${BEA_LIBRARY}
+ IMPORTED_LOCATION ./lib/beaengine/bin/${BEA_LIBRARY}
)
add_library(argtable2 STATIC IMPORTED)
set_property(
TARGET argtable2 PROPERTY
- IMPORTED_LOCATION ../lib/argtable2/bin/${ARGTABLE_LIBRARY}
+ IMPORTED_LOCATION ./lib/argtable2/bin/${ARGTABLE_LIBRARY}
)
add_library(capstone STATIC IMPORTED)
set_property(
TARGET capstone PROPERTY
- IMPORTED_LOCATION ../lib/capstone/bin/${CAPSTONE_LIBRARY}
+ IMPORTED_LOCATION ./lib/capstone/bin/${CAPSTONE_LIBRARY}
)
target_link_libraries(
And strange enough, the generated rp-lin-x64
is put into "../bin/". Why does this happen?
Cool! I guess your issue is from where you are invoking CMake ; you should create let's say a directory "build" at the root of the rp++ tree & from there you can launch cmake .. && make :) That should fix your problems!
Cheers, 0vercl0k
2014-05-19 11:57 GMT+01:00 Wenlei Zhu notifications@github.com:
Hi, I can compile now. Thank you very much!
Still a little problem here. When I run
$ cd rp $ cmake -f CmakeLists.txt $ make
I have to apply the following patch to make it able to find the libs (beaengine, argtable and capstone)
diff --git a/CMakeLists.txt b/CMakeLists.txtindex 65d30f2..ec01585 100644--- a/CMakeLists.txt+++ b/CMakeLists.txt@@ -86,19 +86,19 @@ add_executable( add_library(beaengine STATIC IMPORTED) set_property( TARGET beaengine PROPERTY- IMPORTED_LOCATION ../lib/beaengine/bin/${BEA_LIBRARY}+ IMPORTED_LOCATION ./lib/beaengine/bin/${BEA_LIBRARY} )
add_library(argtable2 STATIC IMPORTED) set_property( TARGET argtable2 PROPERTY- IMPORTED_LOCATION ../lib/argtable2/bin/${ARGTABLE_LIBRARY}+ IMPORTED_LOCATION ./lib/argtable2/bin/${ARGTABLE_LIBRARY} )
add_library(capstone STATIC IMPORTED) set_property( TARGET capstone PROPERTY- IMPORTED_LOCATION ../lib/capstone/bin/${CAPSTONE_LIBRARY}+ IMPORTED_LOCATION ./lib/capstone/bin/${CAPSTONE_LIBRARY} )
target_link_libraries(
And strange enough, the generated rp-lin-x64 is put into "../bin/". Why does this happen?
— Reply to this email directly or view it on GitHubhttps://github.com/0vercl0k/rp/issues/1#issuecomment-43488755 .
Very good. I'll try that.
Thanks again.
I'll make sure to include a build directory with a little script that lanches cmake .. && make in the next release ; it will be clearer for everyone like that :)
2014-05-19 12:12 GMT+01:00 Wenlei Zhu notifications@github.com:
Closed #1 https://github.com/0vercl0k/rp/issues/1.
— Reply to this email directly or view it on GitHubhttps://github.com/0vercl0k/rp/issues/1#event-122411751 .
Hi, could you provide the instructions to build rp++? I used to compile without errors, but when I pulled the latest commit today, things started going wrong showed as follows:
Thanks.