Static C Tic library

Are their instructions for generating a static library (.lib) version of the Tic library.

I am working with the Tic 36v4 controller.

The serial interface for the USB port does not seem to work.

I used MSYS2 to build the solfware. This results in a dynamic library that does not work with MSVC, aside from that I would actually prefer a static link library. I see instructions for building the dynamic library but I don’t see any instructions for building a static link library. My ideal would be to use the Tic library for control.

Thanks much


Hello, Glenn.

Thank you for your interest in the Tic.

When building the Tic software or libusbp, you can use the -DBUILD_SHARED_LIBS=false option when you run CMake to make it build static libraries instead of shared libraries. The header files of the Tic library and libusbp need to know that you are using static libraries, so you would need to define preprocessor macros named LIBUSBP_STATIC and TIC_STATIC when you use the libraries in your project. (The values of those macros do not matter, they just need to be defined.)

If you want to use the Tic library from an MSVC program, you should probably make sure that you compile the Tic software with MSVC instead of GCC. We do not have instructions for how to do that. If you are familiar with compiling C code into a static library with Visual Studio, then you might try doing that with the Tic and libusbp code. We can help you fix any specific errors or warnings that you get.

You can also use CMake to generate Visual Studio projects, but I have not tried it to see how well it works. To do that, you can either remove the -G"MSYS Makefiles" argument to CMake or change it to something like -G"Visual Studio 16 2019". You can run cmake --help to see the list of supported generators.

By the way, it might be easier to just invoke ticcmd from your program instead of building the Tic software yourself and learning how to use the C API.

The Tic’s USB interface does not provide a virtual serial port.

Please let me know if you have any further questions.



Thanks for the input. I was able to recomple both libusbp and the tic library under MSVC 2019 directly.

Though about using the ticcmd, but it is a complicated motor control where we need to watch several motors and make changes after they reach locations. Direct programming will probably be more efficien


Hi Glenn,

I am trying to accomplish exactly the same thing. I spent a few minutes trying to get things building in MSVC, but I was wondering if you could share the project files you created? I am trying to avoid updating to 2019 if possible (am using 2017).

Alternatively if David has any suggestions I’d gladly try them. I have it building just fine in MSYS2 but obviously it’s a lot of different work to get that imported into a visual studio project as well.




No problem. Do you want just the project files or I can zip the entire directory and upload it? I assume you want bot ticlib and libusbp. They work great.

For future, if someone wants these let me know and I will figure out how to share them on the site here.


Hi Gregg,

I think both compiled DLLs and the project would be very valuable so please share (there are a few other posts inquiring about the same thing). I can put them up on github as well if you like.

Thanks again,


I will send them to you by email. This tread limits to 5 MB for upload.