I want a project that can use both the NDK and OpenMP. I can build and run the NDK Hello World program, which is essentially a UDP listener that echoes all UDP packets sent to it. I can also build and run the OpenMP Hello World program, which makes a few calls to OpenMP functions to identify a thread, etc. However, when I try to combine those two examples, I get a linker error.
Can someone please help me resolve the linker errors?
I started with the NDK Hello World program, and made the following changes:
- Added a call to omp_set_num_threads()
- Added a #include for <ti/omp/omp.h>
- Modified the properties, selecting "OpenMP" under the General->RTSC tab.
- Selected "ti.omp.examples.platforms.evm6678" under the General->RTSC tab.
- Selected "Enable support for OpenMP 3.0" under the Build->Advanced Options->Advanced Optimizations tab.
- Added the suggested OpenMP configuration lines to the .cfg file. (I referenced the OpenMP User Guide.)
- Windows 7
- CCS v5.2.1
- XDC Tools v3.24.6.63
- MCSDK v2.1.2.6
- MCSDK PDK TMS320C6678 v1.1.2.6
- NDK v2.22.3.20
- OpenMP BIOS runtime library v1.1.3.02
- SYS/BIOS v6.33.6.50
- TMDSEVM6678LE Rev 3B
<Linking>
warning: Section ".neardata" requires a STATIC_BASE relative relocation, but is
located at 0xa0194500, which is probably out of range of the STATIC_BASE.
STATIC_BASE is located at 0x80394a00. Might be required to correct
placement of ".neardata" so it lies within 0x8000 of the STATIC_BASE.
undefined first referenced
symbol in file
--------- ----------------
cppiHeap C:\ti\omp_1_01_03_02\packages\ti\omp\navigator\lib\debug\ti.omp.navigatorOsal.ae66<Navigatorosal.oe66>
error: unresolved symbols remain
error: errors encountered during linking; "hello_udp_omp.out" not built