# Linking error using Linux Video SDK

**URL:** <https://devforum.zoom.us/t/linking-error-using-linux-video-sdk/96447>\
**Category:** Linux\
**Created:** [October 9, 2023, 11:01am UTC](https://devforum.zoom.us/t/linking-error-using-linux-video-sdk/96447 "2023-10-09T11:01:48Z")\
**Posts on this page:** 3\
**Page:** 1

<div class="post-metadata">

**Author:** ![sam.decrock](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/sam.decrock/32/8656_2.png) [@sam.decrock](https://devforum.zoom.us/u/sam.decrock)\
**Post date:** [October 9, 2023, 11:01am UTC](https://devforum.zoom.us/t/linking-error-using-linux-video-sdk/96447/1 "2023-10-09T11:01:48Z")

</div>

Hi,

I’m having linking issues with the Linux SDK.

My zoom sdk is in `lib/zoom_video_sdk`.

My `main.cpp` contains the following:

```auto
#include "helpers/zoom_video_sdk_user_helper_interface.h"
#include "zoom_video_sdk_api.h"
#include "zoom_video_sdk_def.h"
#include "zoom_video_sdk_delegate_interface.h"
#include "zoom_video_sdk_interface.h"

USING_ZOOM_VIDEO_SDK_NAMESPACE
IZoomVideoSDK *video_sdk_obj;

int main() {
    video_sdk_obj = CreateZoomVideoSDKObj();
    ZoomVideoSDKInitParams init_params;
    init_params.domain = "https://go.zoom.us";
    init_params.enableLog = true;
    init_params.logFilePrefix = "zoom_videosdk_demo";
    init_params.videoRawDataMemoryMode = ZoomVideoSDKRawDataMemoryModeHeap;
    init_params.shareRawDataMemoryMode = ZoomVideoSDKRawDataMemoryModeHeap;
    init_params.audioRawDataMemoryMode = ZoomVideoSDKRawDataMemoryModeHeap;
    init_params.enableIndirectRawdata = false;

    ZoomVideoSDKErrors err = video_sdk_obj->initialize(init_params);
    if (err != ZoomVideoSDKErrors_Success)
    {
        return 0;
    }
}

```

But linking

```auto
 g++ -Ilib/zoom_video_sdk/h -Llib/zoom_video_sdk -Wall main.cpp -o main

```

Simply fails with

```auto
/usr/bin/ld: /tmp/cc7gcKVI.o: in function `main':
main.cpp:(.text+0x9): undefined reference to `CreateZoomVideoSDKObj'
collect2: error: ld returned 1 exit status

```

Are we sure `CreateZoomVideoSDKObj` is in those 4 `so` files?

```auto
# ls -l lib/zoom_video_sdk/ | grep .so
-rw-rw-r-- 1 root root 1334152 Oct 6 17:29 libfdkaac2.so
-rw-rw-r-- 1 root root 1182984 Oct 6 17:29 libmpg123.so
-rw-rw-r-- 1 root root 645432 Oct 6 17:29 libturbojpeg.so
-rw-rw-r-- 1 root root 82403200 Oct 6 17:29 libvideosdk.so

```

Sam

---

<div class="post-metadata">

**Author:** ![sam.decrock](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/sam.decrock/32/8656_2.png) [@sam.decrock](https://devforum.zoom.us/u/sam.decrock)\
**Post date:** [October 9, 2023, 10:18pm UTC](https://devforum.zoom.us/t/linking-error-using-linux-video-sdk/96447/2 "2023-10-09T22:18:55Z")

</div>

Finally found the issue.

I had to add the library I needed with `target_link_libraries(<project name> videosdk)`

My whole `CMakeLists.txt` file looks like this now:

```auto
cmake_minimum_required(VERSION 3.9.1)
project(zoomintegration)

include_directories(${CMAKE_SOURCE_DIR}/sdk/h)
link_directories(${CMAKE_SOURCE_DIR}/sdk)

add_executable(zoomintegration main.cpp)

target_link_libraries(zoomintegration videosdk)

```

where `zoomintegration` is the name of my project.

---

<div class="post-metadata">

**Author:** ![gianni.zoom](https://sea2.discourse-cdn.com/flex016/user_avatar/devforum.zoom.us/gianni.zoom/32/32523_2.png) [@gianni.zoom](https://devforum.zoom.us/u/gianni.zoom)\
**Post date:** [October 11, 2023, 4:34pm UTC](https://devforum.zoom.us/t/linking-error-using-linux-video-sdk/96447/3 "2023-10-11T16:34:38Z")

</div>

Thanks @sam.decrock for sharing your solution!
