L./src/crypto/API/Runtime/Cpp/x86_64 ./lib/libasdcp_x64.a -lpthread -L ./ -L/opt/mysql/lib -L/usr/local/mysql/lib -L/usr/lib/x86_64-linux-gnu -L/usr/lib -L/usr/local/lib -L/opt/xerces-c/lib -L/usr/local/xerces-c/lib -L/usr/local/libiconv/lib -L/usr/local/conv/lib -L/opt/libiconv/lib -L/usr/lib -L/lib64 -Xlinker "-(" -lasdcp -lpthread -lmysqlclient -lxerces-c -luuid -lcrypto -lssl -Xlinker "-)" /usr/bin/ld: ./bin/CMXFParserModule.obj: in function `CMXFParserModule::InitAudioParser(char const*, unsigned long&)': /usr/local/src/C++8/C++8/src/mxfparser/MXFParserModule/CMXFParserModule.cpp:142: undefined reference to `CAudioMXFParser::CAudioMXFParser()' /usr/bin/ld:
=============================
wsl@LAPTOP-N39A7Q24:/usr/local/src/C++8/C++8$ sudo apt-get install libasdcp-dev libkumu-dev [sudo] password for wsl: Reading package lists... Done Building dependency tree... Done Reading state information... Done E: Unable to locate package libasdcp-dev E: Unable to locate package libkumu-dev wsl@LAPTOP-N39A7Q24:/usr/local/src/C++8/C++8$
===========================
Since the MXF parser libraries (libasdcp-dev
and libkumu-dev
) aren't available through your package manager, we'll need to build them from source. Here's how to do it:
bash
复制
# Install dependencies sudo apt-get update sudo apt-get install -y git build-essential autoconf libtool # Clone the repository git clone https://github.com/cinecert/asdcplib.git cd asdcplib # Build and install ./bootstrap # Only needed if building from git ./configure --prefix=/usr/local make sudo make install # Refresh library cache sudo ldconfig
Add these changes to your makefile:
makefile
复制
# Add these paths to LIBPATH LIBPATH += -L/usr/local/lib # Update LIBS (order matters!) LIBS = -lasdcp -lkumu -lpthread -lmysqlclient -lxerces-c -luuid -lcrypto -lssl
bash
复制
sudo make -f makefile_64 clean sudo make -f makefile_64
If you can't build asdcplib, we can modify your project to use the MXF parser files you already have:
First, check what MXF parser files you actually have:
bash
复制
ls -l src/mxfparser/MXFParserModule/
Then we would need to:
Identify which parser implementation files you have
Add them to your makefile
Adjust the code to use your local implementations instead of the library versions
Would you like me to provide instructions for this alternative approach instead?
After installing asdcplib, verify the libraries exist:
bash
复制
ls -l /usr/local/lib/libasdcp* ls -l /usr/local/lib/libkumu*
Let me know if you encounter any issues during the asdcplib installation process, or if you'd prefer to try the alternative solution using just the files you have in your project.
=============================
after downloaded, in the folder asdcplib, no bootstrap there ------------------- wsl@LAPTOP-N39A7Q24:/usr/local/src/asdcplib$ pwd /usr/local/src/asdcplib wsl@LAPTOP-N39A7Q24:/usr/local/src/asdcplib$ ls CHANGES CMakeLists.txt CONTRIBUTING.md COPYING Makefile.am README.cmake README.md autogen.sh configure.ac m4 registers src win32 wsl@LAPTOP-N39A7Q24:/usr/local/src/asdcplib$
===============================
Since the bootstrap
file is missing in your asdcplib source, let's use the available autogen.sh
script instead. Here's the corrected build process:
Prepare the build system:
bash
复制
cd /usr/local/src/asdcplib sudo apt-get install -y autoconf automake libtool chmod +x autogen.sh
Generate configure script:
bash
复制
./autogen.sh
Configure and build:
bash
复制
./configure --prefix=/usr/local make
Install the libraries:
bash
复制
sudo make install sudo ldconfig
bash
复制
ls /usr/local/lib/libasdcp* ls /usr/local/lib/libkumu*
Add these to your project's makefile:
makefile
复制
# Add these paths INCPATH += -I/usr/local/include/asdcp -I/usr/local/include/kumu LIBPATH += -L/usr/local/lib LIBS = -lasdcp -lkumu $(YOUR_EXISTING_LIBS)
If you get "Permission denied" errors during installation:
bash
复制
sudo chown -R $USER:$USER /usr/local/src/asdcplib
If you see missing header errors:
bash
复制
sudo apt-get install libexpat-dev
If the build fails with C++11 errors:
bash
复制
export CXXFLAGS="-std=c++11" ./configure --prefix=/usr/local
Would you like me to provide more specific guidance for any particular error you encounter during this process? The exact steps might vary slightly depending on your WSL distribution and installed packages.