01-30-2018 11:03 PM - edited 01-30-2018 11:15 PM
I am a freshman in the Xilinx Forum,and got a trouble when using the SDK ,please give me some advice.
I want to test the HDMI interface of the KC705,and use the ADV7511 Design Demo (https://wiki.analog.com/resources/fpga/xilinx/kc705/adv7511)
One of the steps is to specify the location of the library,and then I got stuck in there.
In SDK, I want to add a lib file for the project,the method is change the value in project->properties->settings->'library search path' and 'library' parameter.But the build system strangely told me it cannot find the file.
the library file ADV7511 provided is a compressed file with the '.a' suffix, Is it a right library pattern? Should I uncompressed the file before I specify the path?(when I uncompress the file ,a lot of .o files contained in the folder)
There does exist the target file in the location,why the script 'ld.exe' couldn't recognize it?
win10 + vivado 2016.4 + SDK 2016.4 + KC705 + HDMI
Any ideas from you will be appreciated!
02-02-2018 04:09 AM
Welcome to the forum :)
02-02-2018 06:12 AM
Thanks for your reply!!
I post my console record (console.txt) as the attached file.
The first picture below shows the location of the console.txt, The second one shows my project directory.
The absolute path of the lib is
and my workspace of SDK project is
The main description of the error :
'Building target: hdmi_test.elf'
'Invoking: MicroBlaze gcc linker'
mb-gcc -L"E:\ADV7511_demo\hdmi_test\lib" -Wl,-T -Wl,../src/lscript.ld -L../../hdmi_test_bsp/sys_mb/lib -mlittle-endian -mxl-barrel-shift -mxl-pattern-compare -mno-xl-soft-div -mcpu=v10.0 -mno-xl-soft-mul -mxl-multiply-high -Wl,--no-relax -o "hdmi_test.elf" ./src/cf_hdmi.o ./src/main.o ./src/transmitter.o -lHDMI_MicroBlazeLib -Wl,--start-group,-lxil,-lgcc,-lc,--end-group
d:/vivadotemp/sdk/2016.4/gnu/microblaze/nt/bin/../lib/gcc/microblaze-xilinx-elf/5.2.0/../../../../microblaze-xilinx-elf/bin/ld.exe: cannot find -lHDMI_MicroBlazeLib
collect2.exe: error: ld returned 1 exit status
02-02-2018 06:55 AM
It's seems bit strange, I mean, the search path in the settings looks fine as far as the library is located there (from the workspace image seems too).
I will suggest you to test changing the location of the library to different folder (i.e. C:\) and test if that works. Also check the usage of / and \.
PD: If you share the HDF file and the .a library we could test if it does not work for you.
02-03-2018 02:35 PM
rename your library to start with "lib"; in your case libHDMI_MicroBlazeLib.a.
I believe the linker expects all library names to start by lib.
e.g. when linking with the math library (the file is named libm.a), -lm is specified on the command line and not -llibm