<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Linking a pre-compiled static library with ThirdParty C++ nodes]]></title><description><![CDATA[<p dir="auto">Mainly a question for <a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/1">@Christoph-Hart</a> .</p>
<p dir="auto">I'm working on integrating a thirdparty DSP library (<a href="https://github.com/HackAudio/PointToPoint_SDK" rel="nofollow ugc">PointToPoint by Hack Audio</a>) with the ThirdParty C++ nodes. The library is pretty simple - it's header only for the circuit definitions, but the core DSP is a precompiled static library (<code>libCircuitModel.a</code> on macOS, <code>libCircuitModel.lib</code> on Windows).</p>
<p dir="auto">I've gotten the nodes compiled and working, but my main issue is the linking workflow with the HISE compiler. Since it wipes the binaries folder, the AutogeneratedProject.jucer get's regnerated and my linker settings (a few modifications to the library search path and flag pointing to the <code>libCircuitModel.a</code>) get removed. So I either have to manually add them back or, edit the <code>.jucer</code>. What I am doing now using this edited <code>batchCompileOSX.sh</code> (attached below) and building out of XCode.</p>
<p dir="auto">I am just wondering if you have suggestions for a more persistent extra linker flag for the library paths across the different DLL recompiles?  I'm thinking something like a config file the HISE can read before generating the <code>.jucer</code>? My system works but it's just a bit clunky right now. I want to open this up for other users so it would be nice to make it compatible with the HISE compiler.</p>
<pre><code>#!/bin/bash
PATH="/usr/local/bin:$PATH"
chmod +x "/Users/ernest/HISE/JUCE/Projucer/Projucer.app/Contents/MacOS/Projucer"
cd "`dirname "$0"`"
"/Users/ernest/HISE/JUCE/Projucer/Projucer.app/Contents/MacOS/Projucer" --resave AutogeneratedProject.jucer

// Patch link to the PointToPoint Library
XCPROJ="Builds/MacOSX/Hise-PointToPoint.xcodeproj/project.pbxproj"
PTP_LIB="../../ThirdParty/src/PointToPoint/lib/Release/libCircuitModel.a"
PTP_HDR="../../ThirdParty/src/PointToPoint"

if [ -f "$XCPROJ" ]; then
    if ! grep -q "PointToPoint" "$XCPROJ"; then
        # Add header search paths
        sed -i '' "s|HEADER_SEARCH_PATHS = (|HEADER_SEARCH_PATHS = (\"$PTP_HDR\",|g" "$XCPROJ"
        
        # Add library search paths
        sed -i '' "s|LIBRARY_SEARCH_PATHS = (|LIBRARY_SEARCH_PATHS = (\"../../ThirdParty/src/PointToPoint/lib/Release\",|g" "$XCPROJ"
        
        # Add CircuitModel.a library
        sed -i '' "s|OTHER_LDFLAGS = (|OTHER_LDFLAGS = (\"-lCircuitModel\",|g" "$XCPROJ"
    fi
fi
# ============================================================

set -o pipefail
echo Compiling  Hise-PointToPoint ...
xcodebuild -project "Builds/MacOSX/Hise-PointToPoint.xcodeproj" -configuration "Release" -jobs "8" | "/Users/ernest/HISE/tools/Projucer/xcbeautify"

</code></pre>
]]></description><link>https://forum.hise.audio/topic/14459/linking-a-pre-compiled-static-library-with-thirdparty-c-nodes</link><generator>RSS for Node</generator><lastBuildDate>Thu, 16 Apr 2026 11:40:11 GMT</lastBuildDate><atom:link href="https://forum.hise.audio/topic/14459.rss" rel="self" type="application/rss+xml"/><pubDate>Sat, 28 Feb 2026 19:44:25 GMT</pubDate><ttl>60</ttl><item><title><![CDATA[Reply to Linking a pre-compiled static library with ThirdParty C++ nodes on Tue, 03 Mar 2026 13:04:41 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/1">@Christoph-Hart</a> You are the best. I'll give this a try later on! Thank you as always.</p>
]]></description><link>https://forum.hise.audio/post/118454</link><guid isPermaLink="true">https://forum.hise.audio/post/118454</guid><dc:creator><![CDATA[HISEnberg]]></dc:creator><pubDate>Tue, 03 Mar 2026 13:04:41 GMT</pubDate></item><item><title><![CDATA[Reply to Linking a pre-compiled static library with ThirdParty C++ nodes on Tue, 03 Mar 2026 13:02:50 GMT]]></title><description><![CDATA[<p dir="auto"><a class="plugin-mentions-user plugin-mentions-a" href="https://forum.hise.audio/uid/3174">@HISEnberg</a> There are fields in the project settings that you can pass in static libraries - then you just need to place them in the AdditionalSourceCode folder and compile HISE - it should link both the network DLL and the plugin against the 3rd party static lib. Check the help text in the project settings. These are the fields:</p>
<ul>
<li>Windows Static Lib Folder</li>
<li>OSXStaticLibs</li>
</ul>
]]></description><link>https://forum.hise.audio/post/118452</link><guid isPermaLink="true">https://forum.hise.audio/post/118452</guid><dc:creator><![CDATA[Christoph Hart]]></dc:creator><pubDate>Tue, 03 Mar 2026 13:02:50 GMT</pubDate></item><item><title><![CDATA[Reply to Linking a pre-compiled static library with ThirdParty C++ nodes on Tue, 03 Mar 2026 12:58:48 GMT]]></title><description><![CDATA[<p dir="auto">Just a bump to see if anyone has a suggestion!</p>
]]></description><link>https://forum.hise.audio/post/118451</link><guid isPermaLink="true">https://forum.hise.audio/post/118451</guid><dc:creator><![CDATA[HISEnberg]]></dc:creator><pubDate>Tue, 03 Mar 2026 12:58:48 GMT</pubDate></item></channel></rss>