Comments (6)
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 [email protected]:
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 m_instructions; /!< 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 m_instructions; /!< 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_ptrget_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_ptrget_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_ptrget_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_ptrget_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_ptrget_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_ptrget_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: ‘seg_cmd’ 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>();
^
/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/macho_struct.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/macho_struct.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]’:
/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_ptrMachoArchLayout::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.__gnu_cxx::__normal_iterator<Iterator, Container>::operator<const std::shared_ptr<RP_SECTION >, 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_ptrMachoArchLayout::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.__gnu_cxx::__normal_iterator<Iterator, Container>::operator<const std::shared_ptr<RP_SECTION >, 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//issues/1
.
from rp.
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
from rp.
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?
from rp.
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 [email protected]:
Hi, I can compile now. Thank you very much!
Still a little problem here. When I run
$ cd rp
$ cmake -f CmakeLists.txt
$ makeI 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//issues/1#issuecomment-43488755
.
from rp.
Very good. I'll try that.
Thanks again.
from rp.
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 [email protected]:
—
Reply to this email directly or view it on GitHubhttps://github.com//issues/1#event-122411751
.
from rp.
Related Issues (20)
- vdso HOT 1
- consider final version 2 release HOT 2
- Re-add --rva option HOT 2
- ROP gadget not ending in RET instruction HOT 1
- feature request: support for avr HOT 2
- Memory Leak detected HOT 1
- Feature Request - Raw Bytes w/ results HOT 5
- Feature Request - Show output without coloring HOT 3
- make next branch the new master HOT 3
- mis-reported duplicates HOT 4
- Add an option to allow gadgets w/ branch instruction
- Clean-up InstructionInformation
- Clean-up script folder
- Fix bug in PE parser when sections uses IMAGE_SCN_MEM_EXECUTE
- Add option to display the hexbytes and don't display them by default
- Leverage capstone instruction group for ARM32
- Make sure `__PLK_TEXT_EXEC` / iOS kernelcache are supported
- help with getting the 32-bit version for windows OS HOT 3
- Investigate `ldm {..pc}`
- Make built binary static
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from rp.