aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJustin Berger <j.david.berger@gmail.com>2018-03-28 21:52:00 -0600
committerJustin Berger <j.david.berger@gmail.com>2018-03-28 22:14:30 -0600
commit08cc0afc797d2225cf23fbc785e6a28cc8667285 (patch)
tree88443149d251316d5ee8946a3b0e393a18146f45
parent91f0cab811e983da63ea49f6e24afae283138a1c (diff)
downloadlibsurvive-08cc0afc797d2225cf23fbc785e6a28cc8667285.tar.gz
libsurvive-08cc0afc797d2225cf23fbc785e6a28cc8667285.tar.bz2
Nuget packaged up dependencies
-rw-r--r--redist/minimal_opencv.c172
-rw-r--r--src/epnp/epnp.c2
-rw-r--r--src/poser_sba.c1
-rw-r--r--src/survive.c5
-rwxr-xr-xsrc/survive_cal.c2
-rw-r--r--winbuild/calibrate/calibrate.vcxproj11
-rw-r--r--winbuild/calibrate/calibrate.vcxproj.filters3
-rw-r--r--winbuild/data_recorder/data_recorder.vcxproj1
-rw-r--r--winbuild/libsurvive/libsurvive.vcxproj33
-rw-r--r--winbuild/libsurvive/libsurvive.vcxproj.filters37
-rw-r--r--winbuild/libsurvive/packages.config5
-rw-r--r--winbuild/test/test.vcxproj4
12 files changed, 265 insertions, 11 deletions
diff --git a/redist/minimal_opencv.c b/redist/minimal_opencv.c
index 50eb7df..e35e31d 100644
--- a/redist/minimal_opencv.c
+++ b/redist/minimal_opencv.c
@@ -1,5 +1,3 @@
-//#include "/home/justin/source/CLAPACK/INCLUDE/f2c.h"
-//#include "/home/justin/source/CLAPACK/INCLUDE/clapack.h"
#include <cblas.h>
#include <lapacke.h>
@@ -10,8 +8,176 @@
#include "string.h"
#include <limits.h>
+#include <varargs.h>
+
//#define DEBUG_PRINT
+#ifdef _WIN3211
+#include "cblas.h"
+
+int CBLAS_CallFromC;
+int RowMajorStrg;
+void cblas_xerbla(int info, const char *rout, const char *form, ...)
+{
+ extern int RowMajorStrg;
+ char empty[1] = "";
+ va_list argptr;
+
+ va_start(argptr, form);
+
+ if (RowMajorStrg)
+ {
+ if (strstr(rout, "gemm") != 0)
+ {
+ if (info == 5) info = 4;
+ else if (info == 4) info = 5;
+ else if (info == 11) info = 9;
+ else if (info == 9) info = 11;
+ }
+ else if (strstr(rout, "symm") != 0 || strstr(rout, "hemm") != 0)
+ {
+ if (info == 5) info = 4;
+ else if (info == 4) info = 5;
+ }
+ else if (strstr(rout, "trmm") != 0 || strstr(rout, "trsm") != 0)
+ {
+ if (info == 7) info = 6;
+ else if (info == 6) info = 7;
+ }
+ else if (strstr(rout, "gemv") != 0)
+ {
+ if (info == 4) info = 3;
+ else if (info == 3) info = 4;
+ }
+ else if (strstr(rout, "gbmv") != 0)
+ {
+ if (info == 4) info = 3;
+ else if (info == 3) info = 4;
+ else if (info == 6) info = 5;
+ else if (info == 5) info = 6;
+ }
+ else if (strstr(rout, "ger") != 0)
+ {
+ if (info == 3) info = 2;
+ else if (info == 2) info = 3;
+ else if (info == 8) info = 6;
+ else if (info == 6) info = 8;
+ }
+ else if ((strstr(rout, "her2") != 0 || strstr(rout, "hpr2") != 0)
+ && strstr(rout, "her2k") == 0)
+ {
+ if (info == 8) info = 6;
+ else if (info == 6) info = 8;
+ }
+ }
+ if (info)
+ fprintf(stderr, "Parameter %d to routine %s was incorrect\n", info, rout);
+ vfprintf(stderr, form, argptr);
+ va_end(argptr);
+ if (info && !info)
+ F77_xerbla(empty, &info); /* Force link of our F77 error handler */
+ exit(-1);
+}
+void cblas_dgemm(const CBLAS_LAYOUT layout, const CBLAS_TRANSPOSE TransA,
+ const CBLAS_TRANSPOSE TransB, const int M, const int N,
+ const int K, const double alpha, const double *A,
+ const int lda, const double *B, const int ldb,
+ const double beta, double *C, const int ldc)
+{
+ char TA, TB;
+#ifdef F77_CHAR
+ F77_CHAR F77_TA, F77_TB;
+#else
+#define F77_TA &TA
+#define F77_TB &TB
+#endif
+
+#ifdef F77_INT
+ F77_INT F77_M = M, F77_N = N, F77_K = K, F77_lda = lda, F77_ldb = ldb;
+ F77_INT F77_ldc = ldc;
+#else
+#define F77_M M
+#define F77_N N
+#define F77_K K
+#define F77_lda lda
+#define F77_ldb ldb
+#define F77_ldc ldc
+#endif
+
+ RowMajorStrg = 0;
+ CBLAS_CallFromC = 1;
+
+ if (layout == CblasColMajor)
+ {
+ if (TransA == CblasTrans) TA = 'T';
+ else if (TransA == CblasConjTrans) TA = 'C';
+ else if (TransA == CblasNoTrans) TA = 'N';
+ else
+ {
+ cblas_xerbla(2, "cblas_dgemm", "Illegal TransA setting, %d\n", TransA);
+ CBLAS_CallFromC = 0;
+ RowMajorStrg = 0;
+ return;
+ }
+
+ if (TransB == CblasTrans) TB = 'T';
+ else if (TransB == CblasConjTrans) TB = 'C';
+ else if (TransB == CblasNoTrans) TB = 'N';
+ else
+ {
+ cblas_xerbla(3, "cblas_dgemm", "Illegal TransB setting, %d\n", TransB);
+ CBLAS_CallFromC = 0;
+ RowMajorStrg = 0;
+ return;
+ }
+
+#ifdef F77_CHAR
+ F77_TA = C2F_CHAR(&TA);
+ F77_TB = C2F_CHAR(&TB);
+#endif
+
+ F77_dgemm(F77_TA, F77_TB, &F77_M, &F77_N, &F77_K, &alpha, A,
+ &F77_lda, B, &F77_ldb, &beta, C, &F77_ldc);
+ }
+ else if (layout == CblasRowMajor)
+ {
+ RowMajorStrg = 1;
+ if (TransA == CblasTrans) TB = 'T';
+ else if (TransA == CblasConjTrans) TB = 'C';
+ else if (TransA == CblasNoTrans) TB = 'N';
+ else
+ {
+ cblas_xerbla(2, "cblas_dgemm", "Illegal TransA setting, %d\n", TransA);
+ CBLAS_CallFromC = 0;
+ RowMajorStrg = 0;
+ return;
+ }
+ if (TransB == CblasTrans) TA = 'T';
+ else if (TransB == CblasConjTrans) TA = 'C';
+ else if (TransB == CblasNoTrans) TA = 'N';
+ else
+ {
+ cblas_xerbla(2, "cblas_dgemm", "Illegal TransB setting, %d\n", TransB);
+ CBLAS_CallFromC = 0;
+ RowMajorStrg = 0;
+ return;
+ }
+#ifdef F77_CHAR
+ F77_TA = C2F_CHAR(&TA);
+ F77_TB = C2F_CHAR(&TB);
+#endif
+
+ F77_dgemm(F77_TA, F77_TB, &F77_N, &F77_M, &F77_K, &alpha, B,
+ &F77_ldb, A, &F77_lda, &beta, C, &F77_ldc);
+ }
+ else cblas_xerbla(1, "cblas_dgemm", "Illegal layout setting, %d\n", layout);
+ CBLAS_CallFromC = 0;
+ RowMajorStrg = 0;
+ return;
+}
+#endif
+
+
int cvRound(float f) { return roundf(f); }
#define CV_Error(code, msg) assert(0 && msg); // cv::error( code, msg, CV_Func, __FILE__, __LINE__ )
@@ -27,7 +193,7 @@ void cvCopyTo(const CvMat *srcarr, CvMat *dstarr) {
void cvGEMM(const CvMat *src1, const CvMat *src2, double alpha, const CvMat *src3, double beta, CvMat *dst, int tABC) {
lapack_int rows1 = src1->rows;
lapack_int cols1 = src1->cols;
-
+
lapack_int rows2 = src2->rows;
lapack_int cols2 = src2->cols;
diff --git a/src/epnp/epnp.c b/src/epnp/epnp.c
index 4b888aa..53a1d48 100644
--- a/src/epnp/epnp.c
+++ b/src/epnp/epnp.c
@@ -134,7 +134,7 @@ void epnp_choose_control_points(epnp *self) {
// Take C1, C2, and C3 from PCA on the reference points:
CvMat *PW0 = cvCreateMat(self->number_of_correspondences, 3, CV_64F);
- double pw0tpw0[3 * 3] = {}, dc[3], uct[3 * 3];
+ double pw0tpw0[3 * 3] = {0}, dc[3], uct[3 * 3];
CvMat PW0tPW0 = cvMat(3, 3, CV_64F, pw0tpw0);
CvMat DC = cvMat(3, 1, CV_64F, dc);
CvMat UCt = cvMat(3, 3, CV_64F, uct);
diff --git a/src/poser_sba.c b/src/poser_sba.c
index 0ad38ac..df28a2d 100644
--- a/src/poser_sba.c
+++ b/src/poser_sba.c
@@ -4,6 +4,7 @@
#endif
#include <sba/sba.h>
+#include <malloc.h>
#include "poser.h"
#include <survive.h>
diff --git a/src/survive.c b/src/survive.c
index f46f128..23b1e4c 100644
--- a/src/survive.c
+++ b/src/survive.c
@@ -110,6 +110,9 @@ SurviveContext *survive_init_internal(int argc, char *const *argv) {
MANUAL_DRIVER_REGISTRATION(PoserCharlesSlow)
MANUAL_DRIVER_REGISTRATION(PoserDaveOrtho)
MANUAL_DRIVER_REGISTRATION(PoserDummy)
+ MANUAL_DRIVER_REGISTRATION(PoserEPNP)
+ MANUAL_DRIVER_REGISTRATION(PoserSBA)
+
MANUAL_DRIVER_REGISTRATION(DriverRegHTCVive)
MANUAL_DRIVER_REGISTRATION(DriverRegPlayback)
@@ -260,7 +263,7 @@ int survive_startup(SurviveContext *ctx) {
// start the thread to process button data
ctx->buttonservicethread = OGCreateThread(button_servicer, ctx);
- PoserCB PreferredPoserCB = GetDriverByConfig(ctx, "Poser", "defaultposer", "TurveyTori", 2);
+ PoserCB PreferredPoserCB = GetDriverByConfig(ctx, "Poser", "defaultposer", "SBA", 2);
ctx->lightcapfunction = GetDriverByConfig(ctx, "Disambiguator", "disambiguator", "Turvey", 2);
const char *DriverName;
diff --git a/src/survive_cal.c b/src/survive_cal.c
index 25e43b9..2fc1896 100755
--- a/src/survive_cal.c
+++ b/src/survive_cal.c
@@ -187,7 +187,7 @@ void survive_cal_install( struct SurviveContext * ctx )
}
const char * DriverName;
- cd->ConfigPoserFn = GetDriverByConfig(ctx, "Poser", "configposer", "TurveyTori", 0);
+ cd->ConfigPoserFn = GetDriverByConfig(ctx, "Poser", "configposer", "SBA", 0);
ootx_packet_clbk = ootx_packet_clbk_d;
diff --git a/winbuild/calibrate/calibrate.vcxproj b/winbuild/calibrate/calibrate.vcxproj
index 51519e6..d0b1c48 100644
--- a/winbuild/calibrate/calibrate.vcxproj
+++ b/winbuild/calibrate/calibrate.vcxproj
@@ -75,6 +75,7 @@
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
+ <LibraryPath>$(LibraryPath)</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Release|Win32'">
<LinkIncremental>false</LinkIncremental>
@@ -190,7 +191,17 @@
<Project>{435cfd2c-8724-42ee-8fde-71ef7d2c6b2f}</Project>
</ProjectReference>
</ItemGroup>
+ <ItemGroup>
+ <None Include="packages.config" />
+ </ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets">
+ <Import Project="..\packages\OpenBLAS.0.2.14.1\build\native\openblas.targets" Condition="Exists('..\packages\OpenBLAS.0.2.14.1\build\native\openblas.targets')" />
</ImportGroup>
+ <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+ <PropertyGroup>
+ <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
+ </PropertyGroup>
+ <Error Condition="!Exists('..\packages\OpenBLAS.0.2.14.1\build\native\openblas.targets')" Text="$([System.String]::Format('$(ErrorText)', '..\packages\OpenBLAS.0.2.14.1\build\native\openblas.targets'))" />
+ </Target>
</Project> \ No newline at end of file
diff --git a/winbuild/calibrate/calibrate.vcxproj.filters b/winbuild/calibrate/calibrate.vcxproj.filters
index dae64dc..1498023 100644
--- a/winbuild/calibrate/calibrate.vcxproj.filters
+++ b/winbuild/calibrate/calibrate.vcxproj.filters
@@ -36,4 +36,7 @@
<Filter>Header Files</Filter>
</ClInclude>
</ItemGroup>
+ <ItemGroup>
+ <None Include="packages.config" />
+ </ItemGroup>
</Project> \ No newline at end of file
diff --git a/winbuild/data_recorder/data_recorder.vcxproj b/winbuild/data_recorder/data_recorder.vcxproj
index 59a1e77..e63d474 100644
--- a/winbuild/data_recorder/data_recorder.vcxproj
+++ b/winbuild/data_recorder/data_recorder.vcxproj
@@ -72,6 +72,7 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
+ <LibraryPath>$(VC_LibraryPath_x64);$(WindowsSDK_LibraryPath_x64);$(NETFXKitsDir)Lib\um\x64</LibraryPath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
diff --git a/winbuild/libsurvive/libsurvive.vcxproj b/winbuild/libsurvive/libsurvive.vcxproj
index 6268d63..2451c22 100644
--- a/winbuild/libsurvive/libsurvive.vcxproj
+++ b/winbuild/libsurvive/libsurvive.vcxproj
@@ -56,6 +56,7 @@
<ImportGroup Label="ExtensionSettings">
</ImportGroup>
<ImportGroup Label="Shared">
+ <Import Project="$(SolutionDir)\packages\OpenBLAS.0.2.14.1\build\native\openblas.targets" Condition="Exists('$(SolutionDir)\packages\OpenBLAS.0.2.14.1\build\native\openblas.targets')" />
</ImportGroup>
<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
@@ -70,14 +71,17 @@
<Import Project="$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props" Condition="exists('$(UserRootDir)\Microsoft.Cpp.$(Platform).user.props')" Label="LocalAppDataPlatform" />
</ImportGroup>
<PropertyGroup Label="UserMacros" />
- <PropertyGroup />
+ <PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
+ <IncludePath>$(IncludePath)</IncludePath>
+ <LibraryPath>$(LibraryPath)</LibraryPath>
+ </PropertyGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<ClCompile>
<PrecompiledHeader>
</PrecompiledHeader>
<WarningLevel>Level3</WarningLevel>
<Optimization>Disabled</Optimization>
- <PreprocessorDefinitions>FLT=double;USE_DOUBLE;MANUAL_REGISTRATION;NOZLIB;_CRT_SECURE_NO_WARNINGS;HIDAPI;WINDOWS;_DEBUG;_LIB;%(PreprocessorDefinitions)</PreprocessorDefinitions>
+ <PreprocessorDefinitions>FLT=double;USE_DOUBLE;MANUAL_REGISTRATION;NOZLIB;_CRT_SECURE_NO_WARNINGS;HIDAPI;WINDOWS;_DEBUG;_LIB;HAVE_LAPACK_CONFIG_H;LAPACK_COMPLEX_STRUCTURE;%(PreprocessorDefinitions)</PreprocessorDefinitions>
<AdditionalIncludeDirectories>..\..\winbuild;..\..\include\libsurvive;..\..\redist;%(AdditionalIncludeDirectories)</AdditionalIncludeDirectories>
</ClCompile>
<Link>
@@ -89,6 +93,10 @@
<ModuleDefinitionFile>$(MSBuildProjectDirectory)\libsurvive.def</ModuleDefinitionFile>
</Link>
<ProjectReference />
+ <Lib>
+ <AdditionalDependencies>libblas.lib;liblapacke.lib;liblapack.lib%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalLibraryDirectories>%(AdditionalLibraryDirectories)</AdditionalLibraryDirectories>
+ </Lib>
</ItemDefinitionGroup>
<ItemDefinitionGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<ClCompile>
@@ -149,14 +157,23 @@
<ClCompile Include="..\..\redist\jsmn.c" />
<ClCompile Include="..\..\redist\json_helpers.c" />
<ClCompile Include="..\..\redist\linmath.c" />
+ <ClCompile Include="..\..\redist\minimal_opencv.c" />
<ClCompile Include="..\..\redist\puff.c" />
+ <ClCompile Include="..\..\redist\sba\sba_chkjac.c" />
+ <ClCompile Include="..\..\redist\sba\sba_crsm.c" />
+ <ClCompile Include="..\..\redist\sba\sba_lapack.c" />
+ <ClCompile Include="..\..\redist\sba\sba_levmar.c" />
+ <ClCompile Include="..\..\redist\sba\sba_levmar_wrap.c" />
<ClCompile Include="..\..\redist\symbol_enumerator.c" />
+ <ClCompile Include="..\..\src\epnp\epnp.c" />
<ClCompile Include="..\..\src\ootx_decoder.c" />
<ClCompile Include="..\..\src\poser.c" />
<ClCompile Include="..\..\src\poser_charlesslow.c" />
<ClCompile Include="..\..\src\poser_daveortho.c" />
<ClCompile Include="..\..\src\poser_dummy.c" />
+ <ClCompile Include="..\..\src\poser_epnp.c" />
<ClCompile Include="..\..\src\poser_octavioradii.c" />
+ <ClCompile Include="..\..\src\poser_sba.c" />
<ClCompile Include="..\..\src\poser_turveytori.c" />
<ClCompile Include="..\..\src\survive.c" />
<ClCompile Include="..\..\src\survive_cal.c" />
@@ -183,8 +200,11 @@
<ClInclude Include="..\..\redist\jsmn.h" />
<ClInclude Include="..\..\redist\json_helpers.h" />
<ClInclude Include="..\..\redist\linmath.h" />
+ <ClInclude Include="..\..\redist\minimal_opencv.h" />
<ClInclude Include="..\..\redist\os_generic.h" />
+ <ClInclude Include="..\..\redist\sba\sba.h" />
<ClInclude Include="..\..\redist\symbol_enumerator.h" />
+ <ClInclude Include="..\..\src\epnp\epnp.h" />
<ClInclude Include="..\..\src\ootx_decoder.h" />
<ClInclude Include="..\..\src\survive_cal.h" />
<ClInclude Include="..\..\src\survive_config.h" />
@@ -193,8 +213,13 @@
</ItemGroup>
<ItemGroup>
<None Include="libsurvive.def" />
+ <None Include="packages.config" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
- <ImportGroup Label="ExtensionTargets">
- </ImportGroup>
+ <Target Name="EnsureNuGetPackageBuildImports" BeforeTargets="PrepareForBuild">
+ <PropertyGroup>
+ <ErrorText>This project references NuGet package(s) that are missing on this computer. Use NuGet Package Restore to download them. For more information, see http://go.microsoft.com/fwlink/?LinkID=322105. The missing file is {0}.</ErrorText>
+ </PropertyGroup>
+ <Error Condition="!Exists('$(SolutionDir)\packages\OpenBLAS.0.2.14.1\build\native\openblas.targets')" Text="$([System.String]::Format('$(ErrorText)', '$(SolutionDir)\packages\OpenBLAS.0.2.14.1\build\native\openblas.targets'))" />
+ </Target>
</Project> \ No newline at end of file
diff --git a/winbuild/libsurvive/libsurvive.vcxproj.filters b/winbuild/libsurvive/libsurvive.vcxproj.filters
index 5387108..ffddee9 100644
--- a/winbuild/libsurvive/libsurvive.vcxproj.filters
+++ b/winbuild/libsurvive/libsurvive.vcxproj.filters
@@ -108,6 +108,33 @@
<ClCompile Include="..\..\src\survive_statebased_disambiguator.c">
<Filter>Source Files</Filter>
</ClCompile>
+ <ClCompile Include="..\..\redist\minimal_opencv.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\epnp\epnp.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\poser_epnp.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\src\poser_sba.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\redist\sba\sba_crsm.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\redist\sba\sba_lapack.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\redist\sba\sba_levmar.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\redist\sba\sba_levmar_wrap.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
+ <ClCompile Include="..\..\redist\sba\sba_chkjac.c">
+ <Filter>Source Files</Filter>
+ </ClCompile>
</ItemGroup>
<ItemGroup>
<ClInclude Include="..\..\src\ootx_decoder.h">
@@ -152,8 +179,18 @@
<ClInclude Include="..\..\src\survive_default_devices.h">
<Filter>Source Files</Filter>
</ClInclude>
+ <ClInclude Include="..\..\redist\minimal_opencv.h">
+ <Filter>Source Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\src\epnp\epnp.h">
+ <Filter>Header Files</Filter>
+ </ClInclude>
+ <ClInclude Include="..\..\redist\sba\sba.h">
+ <Filter>Source Files</Filter>
+ </ClInclude>
</ItemGroup>
<ItemGroup>
<None Include="libsurvive.def" />
+ <None Include="packages.config" />
</ItemGroup>
</Project> \ No newline at end of file
diff --git a/winbuild/libsurvive/packages.config b/winbuild/libsurvive/packages.config
new file mode 100644
index 0000000..c283d9d
--- /dev/null
+++ b/winbuild/libsurvive/packages.config
@@ -0,0 +1,5 @@
+<?xml version="1.0" encoding="utf-8"?>
+<packages>
+ <package id="lapacke" version="0.1.0" targetFramework="native" />
+ <package id="OpenBLAS" version="0.2.14.1" targetFramework="native" />
+</packages> \ No newline at end of file
diff --git a/winbuild/test/test.vcxproj b/winbuild/test/test.vcxproj
index e6ee3fb..5ceff3d 100644
--- a/winbuild/test/test.vcxproj
+++ b/winbuild/test/test.vcxproj
@@ -72,6 +72,8 @@
<PropertyGroup Label="UserMacros" />
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|x64'">
<LinkIncremental>true</LinkIncremental>
+ <LibraryPath>$(LibraryPath)</LibraryPath>
+ <ReferencePath>$(VC_ReferencesPath_x64);</ReferencePath>
</PropertyGroup>
<PropertyGroup Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
<LinkIncremental>true</LinkIncremental>
@@ -93,7 +95,7 @@
</ClCompile>
<Link>
<SubSystem>Console</SubSystem>
- <AdditionalDependencies>setupapi.lib;dbghelp.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies)</AdditionalDependencies>
+ <AdditionalDependencies>setupapi.lib;dbghelp.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;libblas.lib;liblapacke.lib;liblapack.lib;%(AdditionalDependencies)</AdditionalDependencies>
<GenerateDebugInformation>true</GenerateDebugInformation>
<LinkTimeCodeGeneration>UseFastLinkTimeCodeGeneration</LinkTimeCodeGeneration>
</Link>