Statistics
| Branch: | Revision:

## root / latex / note_w06.tex @ 4ca27bae

1 2 3 d1ed66aa Quynh PX Nguyen %!TEX root = note.tex %%%%%%%%%%%%%%%%%% % WEEK 6 %%%%%%%%%%%%%%%%%% \section{Week 6} \subsection{Install Boost into OpenWRT Image} There were some error related to no *.so found in the \texttt{build\_dir}. I do not know why. But after I choose specific Boost library to install, including the \texttt{graph}, then the error got resolved. Is it due to the fact that the \texttt{graph} also include the *.cpp file, and those implementation file then get compiled into the \texttt{shared objects *.so}. \begin{lstlisting} ./scripts/feeds install boost make menuconfig # choose boost in libraries # Verify whether we can compile & install Boost successfully make package/boost/compile make package/boost/install # compile to get the OpenWrt Image \end{lstlisting} \subsection{Makefile} Below is some general note about Makefile. http://stackoverflow.com/questions/9688200/difference-between-shared-objects-so-static-libraries-a-and-dlls-so http://stackoverflow.com/questions/8229620/why-does-the-c-boost-package-only-contain-hpp-files what is boost-build.jam https://www.gnu.org/software/make/manual/html\_node/Call-Function.html http://www.tutorialspoint.com/makefile/makefile\_quick\_guide.htm The \$(INSTALL\_DIR) variable contains a command to prepare the install \# directory if it does not already exist. Likewise \$(INSTALL\_BIN) contains the \# command to copy the binary file from its current location (in our case the build \# directory) to the install directory. http://gargoyle-router.com/old-openwrt-coding.html\#part2 Detailed instruction with explanation on what Makefile, and OpenWrt Makefile do during compilation. With example that use STL library, and porting STL to the OpenWrt Image. This example is the step-by-step approach, it shows you also the non-functioning example, and then it shows you how to make it work. Any modification is explained in deep. Variable and function references in recipes have identical syntax and semantics to references elsewhere in the makefile. They also have the same quoting rules: if you want a dollar sign to appear in your recipe, you must double it (‘\$\$’). For shells like the default shell, that use dollar signs to introduce variables, it’s important to keep clear in your mind whether the variable you want to reference is a make variable (use a single dollar sign) or a shell variable (use two dollar signs) \begin{lstlisting} LIST = one two three all: for i in $(LIST); do \ echo$$i; \ done # results in the following command being passed to the shell: for i in one two three; do \ echo$i; \ done # which generates the expected result: one two \end{lstlisting} \subsection{Boost Graph Library (BGL)} \href{http://stackoverflow.com/a/31734150}{Using Boost Graph Library}: this comment is really helpful. It's not giving an example, but it provides \subsection{Summary - Week 6} Read book about STL, Template. Making notes on paper