From 81f489b969d39d5460efe36b16fe3290e56d6186 Mon Sep 17 00:00:00 2001 From: Mike Black W9MDB Date: Sat, 3 Sep 2022 13:09:50 -0500 Subject: [PATCH] Add MSVC projects to scripts/MSVC for 32 and 64-bit builds in C++ https://github.com/Hamlib/Hamlib/milestone/14 --- README.win32 | 3 + scripts/MSVC/2022/x64/hamlibTest/Resource.h | 30 + scripts/MSVC/2022/x64/hamlibTest/framework.h | 15 + .../MSVC/2022/x64/hamlibTest/hamlibTest.cpp | 187 +++++ scripts/MSVC/2022/x64/hamlibTest/hamlibTest.h | 3 + .../MSVC/2022/x64/hamlibTest/hamlibTest.ico | Bin 0 -> 46227 bytes .../MSVC/2022/x64/hamlibTest/hamlibTest.rc | Bin 0 -> 6882 bytes .../MSVC/2022/x64/hamlibTest/hamlibTest.sln | 36 + .../2022/x64/hamlibTest/hamlibTest.vcxproj | 180 +++++ .../x64/hamlibTest/hamlibTest.vcxproj.user | 4 + .../MSVC/2022/x64/hamlibTest/hamlibTest2.cpp | 7 + .../MSVC/2022/x64/hamlibTest/libhamlib-4.def | 408 +++++++++++ .../MSVC/2022/x64/hamlibTest/libhamlib-4.exp | Bin 0 -> 50001 bytes .../MSVC/2022/x64/hamlibTest/libhamlib-4.lib | Bin 0 -> 84066 bytes .../MSVC/2022/x64/hamlibTest/libhamlib.def | 660 ++++++++++++++++++ scripts/MSVC/2022/x64/hamlibTest/makelib.bat | 1 + .../MSVC/2022/x64/hamlibTest/packages.config | 5 + scripts/MSVC/2022/x64/hamlibTest/small.ico | Bin 0 -> 46227 bytes scripts/MSVC/2022/x64/hamlibTest/targetver.h | 6 + scripts/MSVC/2022/x86/hamlibTest/README.txt | 3 + scripts/MSVC/2022/x86/hamlibTest/Resource.h | 30 + scripts/MSVC/2022/x86/hamlibTest/framework.h | 15 + .../MSVC/2022/x86/hamlibTest/hamlibTest.cpp | 187 +++++ scripts/MSVC/2022/x86/hamlibTest/hamlibTest.h | 3 + .../MSVC/2022/x86/hamlibTest/hamlibTest.ico | Bin 0 -> 46227 bytes .../MSVC/2022/x86/hamlibTest/hamlibTest.rc | Bin 0 -> 6882 bytes .../MSVC/2022/x86/hamlibTest/hamlibTest.sln | 36 + .../2022/x86/hamlibTest/hamlibTest.vcxproj | 177 +++++ .../x86/hamlibTest/hamlibTest.vcxproj.user | 4 + .../MSVC/2022/x86/hamlibTest/hamlibTest2.cpp | 7 + .../MSVC/2022/x86/hamlibTest/libhamlib-4.lib | Bin 0 -> 154838 bytes .../MSVC/2022/x86/hamlibTest/libhamlib.def | 660 ++++++++++++++++++ scripts/MSVC/2022/x86/hamlibTest/makelib.bat | 1 + .../MSVC/2022/x86/hamlibTest/packages.config | 5 + scripts/MSVC/2022/x86/hamlibTest/small.ico | Bin 0 -> 46227 bytes scripts/MSVC/2022/x86/hamlibTest/targetver.h | 6 + 36 files changed, 2679 insertions(+) create mode 100644 scripts/MSVC/2022/x64/hamlibTest/Resource.h create mode 100644 scripts/MSVC/2022/x64/hamlibTest/framework.h create mode 100644 scripts/MSVC/2022/x64/hamlibTest/hamlibTest.cpp create mode 100644 scripts/MSVC/2022/x64/hamlibTest/hamlibTest.h create mode 100644 scripts/MSVC/2022/x64/hamlibTest/hamlibTest.ico create mode 100644 scripts/MSVC/2022/x64/hamlibTest/hamlibTest.rc create mode 100644 scripts/MSVC/2022/x64/hamlibTest/hamlibTest.sln create mode 100644 scripts/MSVC/2022/x64/hamlibTest/hamlibTest.vcxproj create mode 100644 scripts/MSVC/2022/x64/hamlibTest/hamlibTest.vcxproj.user create mode 100644 scripts/MSVC/2022/x64/hamlibTest/hamlibTest2.cpp create mode 100644 scripts/MSVC/2022/x64/hamlibTest/libhamlib-4.def create mode 100644 scripts/MSVC/2022/x64/hamlibTest/libhamlib-4.exp create mode 100644 scripts/MSVC/2022/x64/hamlibTest/libhamlib-4.lib create mode 100644 scripts/MSVC/2022/x64/hamlibTest/libhamlib.def create mode 100644 scripts/MSVC/2022/x64/hamlibTest/makelib.bat create mode 100644 scripts/MSVC/2022/x64/hamlibTest/packages.config create mode 100644 scripts/MSVC/2022/x64/hamlibTest/small.ico create mode 100644 scripts/MSVC/2022/x64/hamlibTest/targetver.h create mode 100644 scripts/MSVC/2022/x86/hamlibTest/README.txt create mode 100644 scripts/MSVC/2022/x86/hamlibTest/Resource.h create mode 100644 scripts/MSVC/2022/x86/hamlibTest/framework.h create mode 100644 scripts/MSVC/2022/x86/hamlibTest/hamlibTest.cpp create mode 100644 scripts/MSVC/2022/x86/hamlibTest/hamlibTest.h create mode 100644 scripts/MSVC/2022/x86/hamlibTest/hamlibTest.ico create mode 100644 scripts/MSVC/2022/x86/hamlibTest/hamlibTest.rc create mode 100644 scripts/MSVC/2022/x86/hamlibTest/hamlibTest.sln create mode 100644 scripts/MSVC/2022/x86/hamlibTest/hamlibTest.vcxproj create mode 100644 scripts/MSVC/2022/x86/hamlibTest/hamlibTest.vcxproj.user create mode 100644 scripts/MSVC/2022/x86/hamlibTest/hamlibTest2.cpp create mode 100644 scripts/MSVC/2022/x86/hamlibTest/libhamlib-4.lib create mode 100644 scripts/MSVC/2022/x86/hamlibTest/libhamlib.def create mode 100644 scripts/MSVC/2022/x86/hamlibTest/makelib.bat create mode 100644 scripts/MSVC/2022/x86/hamlibTest/packages.config create mode 100644 scripts/MSVC/2022/x86/hamlibTest/small.ico create mode 100644 scripts/MSVC/2022/x86/hamlibTest/targetver.h diff --git a/README.win32 b/README.win32 index 2c7930f08..840b479da 100644 --- a/README.win32 +++ b/README.win32 @@ -91,4 +91,7 @@ MSVC 2022 ========= MSVC C/C++ projects must use the NuGet pthread package in order to compile as of Sep 2022 An example C++ project is in bindings/MSVC +If you want to do a dotnet build you will need this done from an administrative PowerShell +npm install -g --production windows-build-tools + diff --git a/scripts/MSVC/2022/x64/hamlibTest/Resource.h b/scripts/MSVC/2022/x64/hamlibTest/Resource.h new file mode 100644 index 000000000..47c4c6cea --- /dev/null +++ b/scripts/MSVC/2022/x64/hamlibTest/Resource.h @@ -0,0 +1,30 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by hamlibTest.rc + +#define IDS_APP_TITLE 103 + +#define IDR_MAINFRAME 128 +#define IDD_HAMLIBTEST_DIALOG 102 +#define IDD_ABOUTBOX 103 +#define IDM_ABOUT 104 +#define IDM_EXIT 105 +#define IDI_HAMLIBTEST 107 +#define IDI_SMALL 108 +#define IDC_HAMLIBTEST 109 +#define IDC_MYICON 2 +#ifndef IDC_STATIC +#define IDC_STATIC -1 +#endif +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS + +#define _APS_NO_MFC 130 +#define _APS_NEXT_RESOURCE_VALUE 129 +#define _APS_NEXT_COMMAND_VALUE 32771 +#define _APS_NEXT_CONTROL_VALUE 1000 +#define _APS_NEXT_SYMED_VALUE 110 +#endif +#endif diff --git a/scripts/MSVC/2022/x64/hamlibTest/framework.h b/scripts/MSVC/2022/x64/hamlibTest/framework.h new file mode 100644 index 000000000..7d94bc44f --- /dev/null +++ b/scripts/MSVC/2022/x64/hamlibTest/framework.h @@ -0,0 +1,15 @@ +// header.h : include file for standard system include files, +// or project specific include files +// + +#pragma once + +#include "targetver.h" +#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers +// Windows Header Files +#include +// C RunTime Header Files +#include +#include +#include +#include diff --git a/scripts/MSVC/2022/x64/hamlibTest/hamlibTest.cpp b/scripts/MSVC/2022/x64/hamlibTest/hamlibTest.cpp new file mode 100644 index 000000000..05040b58f --- /dev/null +++ b/scripts/MSVC/2022/x64/hamlibTest/hamlibTest.cpp @@ -0,0 +1,187 @@ +// hamlibTest.cpp : Defines the entry point for the application. +// Note that the MSVC build requires the pthread package as of Sep 2022 + +#include "framework.h" +#include "hamlibTest.h" + +#include "hamlib\rig.h" +#include "hamlib\rotator.h" + + +#define MAX_LOADSTRING 100 + +// Global Variables: +HINSTANCE hInst; // current instance +WCHAR szTitle[MAX_LOADSTRING]; // The title bar text +WCHAR szWindowClass[MAX_LOADSTRING]; // the main window class name + +// Forward declarations of functions included in this code module: +ATOM MyRegisterClass(HINSTANCE hInstance); +BOOL InitInstance(HINSTANCE, int); +LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); +INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM); + +int APIENTRY wWinMain(_In_ HINSTANCE hInstance, + _In_opt_ HINSTANCE hPrevInstance, + _In_ LPWSTR lpCmdLine, + _In_ int nCmdShow) +{ + UNREFERENCED_PARAMETER(hPrevInstance); + UNREFERENCED_PARAMETER(lpCmdLine); + + // TODO: Place code here. + + // Initialize global strings + LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); + LoadStringW(hInstance, IDC_HAMLIBTEST, szWindowClass, MAX_LOADSTRING); + MyRegisterClass(hInstance); + + // Perform application initialization: + if (!InitInstance (hInstance, nCmdShow)) + { + return FALSE; + } + + RIG* myRig = rig_init(RIG_MODEL_DUMMY); + ROT* myRot = rot_init(ROT_MODEL_DUMMY); + + HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_HAMLIBTEST)); + + MSG msg; + + // Main message loop: + while (GetMessage(&msg, nullptr, 0, 0)) + { + if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) + { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + } + + return (int) msg.wParam; +} + + + +// +// FUNCTION: MyRegisterClass() +// +// PURPOSE: Registers the window class. +// +ATOM MyRegisterClass(HINSTANCE hInstance) +{ + WNDCLASSEXW wcex; + + wcex.cbSize = sizeof(WNDCLASSEX); + + wcex.style = CS_HREDRAW | CS_VREDRAW; + wcex.lpfnWndProc = WndProc; + wcex.cbClsExtra = 0; + wcex.cbWndExtra = 0; + wcex.hInstance = hInstance; + wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_HAMLIBTEST)); + wcex.hCursor = LoadCursor(nullptr, IDC_ARROW); + wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); + wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_HAMLIBTEST); + wcex.lpszClassName = szWindowClass; + wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL)); + + return RegisterClassExW(&wcex); +} + +// +// FUNCTION: InitInstance(HINSTANCE, int) +// +// PURPOSE: Saves instance handle and creates main window +// +// COMMENTS: +// +// In this function, we save the instance handle in a global variable and +// create and display the main program window. +// +BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) +{ + hInst = hInstance; // Store instance handle in our global variable + + HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, + CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr); + + if (!hWnd) + { + return FALSE; + } + + ShowWindow(hWnd, nCmdShow); + UpdateWindow(hWnd); + + return TRUE; +} + +// +// FUNCTION: WndProc(HWND, UINT, WPARAM, LPARAM) +// +// PURPOSE: Processes messages for the main window. +// +// WM_COMMAND - process the application menu +// WM_PAINT - Paint the main window +// WM_DESTROY - post a quit message and return +// +// +LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) +{ + switch (message) + { + case WM_COMMAND: + { + int wmId = LOWORD(wParam); + // Parse the menu selections: + switch (wmId) + { + case IDM_ABOUT: + DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About); + break; + case IDM_EXIT: + DestroyWindow(hWnd); + break; + default: + return DefWindowProc(hWnd, message, wParam, lParam); + } + } + break; + case WM_PAINT: + { + PAINTSTRUCT ps; + HDC hdc = BeginPaint(hWnd, &ps); + // TODO: Add any drawing code that uses hdc here... + EndPaint(hWnd, &ps); + } + break; + case WM_DESTROY: + PostQuitMessage(0); + break; + default: + return DefWindowProc(hWnd, message, wParam, lParam); + } + return 0; +} + +// Message handler for about box. +INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) +{ + UNREFERENCED_PARAMETER(lParam); + switch (message) + { + case WM_INITDIALOG: + return (INT_PTR)TRUE; + + case WM_COMMAND: + if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) + { + EndDialog(hDlg, LOWORD(wParam)); + return (INT_PTR)TRUE; + } + break; + } + return (INT_PTR)FALSE; +} diff --git a/scripts/MSVC/2022/x64/hamlibTest/hamlibTest.h b/scripts/MSVC/2022/x64/hamlibTest/hamlibTest.h new file mode 100644 index 000000000..e60f2eb7e --- /dev/null +++ b/scripts/MSVC/2022/x64/hamlibTest/hamlibTest.h @@ -0,0 +1,3 @@ +#pragma once + +#include "resource.h" diff --git a/scripts/MSVC/2022/x64/hamlibTest/hamlibTest.ico b/scripts/MSVC/2022/x64/hamlibTest/hamlibTest.ico new file mode 100644 index 0000000000000000000000000000000000000000..b3ec03bd617f32e58128fa977fd6ac9605124f4b GIT binary patch literal 46227 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 XuxUf>d|Vo`*&bkDm}$QLoSfrdM@Sjr literal 0 HcmV?d00001 diff --git a/scripts/MSVC/2022/x64/hamlibTest/hamlibTest.sln b/scripts/MSVC/2022/x64/hamlibTest/hamlibTest.sln new file mode 100644 index 000000000..f28d117e3 --- /dev/null +++ b/scripts/MSVC/2022/x64/hamlibTest/hamlibTest.sln @@ -0,0 +1,36 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32825.248 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hamlibTest", "hamlibTest.vcxproj", "{D6A9E0F7-CE30-4255-860C-BABEC8360F24}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{8A537F0A-CF7B-463F-A3E1-F4C321A3978F}" + ProjectSection(SolutionItems) = preProject + .github\workflows\build-bba40.yaml = .github\workflows\build-bba40.yaml + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D6A9E0F7-CE30-4255-860C-BABEC8360F24}.Debug|x64.ActiveCfg = Debug|x64 + {D6A9E0F7-CE30-4255-860C-BABEC8360F24}.Debug|x64.Build.0 = Debug|x64 + {D6A9E0F7-CE30-4255-860C-BABEC8360F24}.Debug|x86.ActiveCfg = Debug|Win32 + {D6A9E0F7-CE30-4255-860C-BABEC8360F24}.Debug|x86.Build.0 = Debug|Win32 + {D6A9E0F7-CE30-4255-860C-BABEC8360F24}.Release|x64.ActiveCfg = Release|x64 + {D6A9E0F7-CE30-4255-860C-BABEC8360F24}.Release|x64.Build.0 = Release|x64 + {D6A9E0F7-CE30-4255-860C-BABEC8360F24}.Release|x86.ActiveCfg = Release|Win32 + {D6A9E0F7-CE30-4255-860C-BABEC8360F24}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {2846179C-7E5E-44DC-829D-C74586FD113C} + EndGlobalSection +EndGlobal diff --git a/scripts/MSVC/2022/x64/hamlibTest/hamlibTest.vcxproj b/scripts/MSVC/2022/x64/hamlibTest/hamlibTest.vcxproj new file mode 100644 index 000000000..017190265 --- /dev/null +++ b/scripts/MSVC/2022/x64/hamlibTest/hamlibTest.vcxproj @@ -0,0 +1,180 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 16.0 + Win32Proj + {d6a9e0f7-ce30-4255-860c-babec8360f24} + hamlibTest + 10.0 + + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + + + + + + + + + + + + + + + + + + + true + + + false + + + true + + + false + + + + Level3 + true + WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + C:\projects\hamlib-w32-4.5\include + + + Windows + true + C:\Projects\hamlib-w32-4.5\lib\msvc + libhamlib-4.lib;%(AdditionalDependencies) + + + + + Level3 + true + true + true + WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + + + Windows + true + true + true + + + + + Level3 + true + _DEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + C:\Projects\hamlib-w64-4.5\include;%(AdditionalIncludeDirectories) + + + Windows + true + + + + + Level3 + true + true + true + NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + + + Windows + true + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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}. + + + + + \ No newline at end of file diff --git a/scripts/MSVC/2022/x64/hamlibTest/hamlibTest.vcxproj.user b/scripts/MSVC/2022/x64/hamlibTest/hamlibTest.vcxproj.user new file mode 100644 index 000000000..0f14913f3 --- /dev/null +++ b/scripts/MSVC/2022/x64/hamlibTest/hamlibTest.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/scripts/MSVC/2022/x64/hamlibTest/hamlibTest2.cpp b/scripts/MSVC/2022/x64/hamlibTest/hamlibTest2.cpp new file mode 100644 index 000000000..fa1733c1c --- /dev/null +++ b/scripts/MSVC/2022/x64/hamlibTest/hamlibTest2.cpp @@ -0,0 +1,7 @@ +// Test including rig.h in a 2nd file +#include + +int testinclude() +{ + return 0; +} \ No newline at end of file diff --git a/scripts/MSVC/2022/x64/hamlibTest/libhamlib-4.def b/scripts/MSVC/2022/x64/hamlibTest/libhamlib-4.def new file mode 100644 index 000000000..8d0ed5082 --- /dev/null +++ b/scripts/MSVC/2022/x64/hamlibTest/libhamlib-4.def @@ -0,0 +1,408 @@ +EXPORTS + CRC32_function @1 + amp_check_backend @2 + amp_cleanup @3 + amp_close @4 + amp_confparam_lookup @5 + amp_ext_lookup @6 + amp_get_caps @7 + amp_get_conf @8 + amp_get_ext_level @9 + amp_get_freq @10 + amp_get_info @11 + amp_get_level @12 + amp_get_powerstat @13 + amp_has_get_level @14 + amp_init @15 + amp_list_foreach @16 + amp_load_all_backends @17 + amp_load_backend @18 + amp_open @19 + amp_parse_level @20 + amp_probe_all @21 + amp_register @22 + amp_reset @23 + amp_set_conf @24 + amp_set_freq @25 + amp_set_powerstat @26 + amp_sprintf_level @27 + amp_strlevel @28 + amp_token_lookup @29 + amp_unregister @30 + azimuth_long_path @31 + cookie_use @32 DATA + debugmsgsave @33 DATA + debugmsgsave2 @34 DATA + debugmsgsave3 @35 DATA + dec2dmmm @36 + dec2dms @37 + distance_long_path @38 + dmmm2dec @39 + dms2dec @40 + dot10ths_to_millis @41 + dump_hex @42 + elapsed_ms @43 + from_bcd @44 + from_bcd_be @45 + get_rig_conf_type @46 + hamlib_copyright @47 DATA + hamlib_copyright2 @48 DATA + hamlib_version @49 DATA + hamlib_version2 @50 DATA + hl_usleep @51 + initamps4_dummy @52 + initamps4_kpa1500 @53 + initrigs4_adat @54 + initrigs4_alinco @55 + initrigs4_aor @56 + initrigs4_barrett @57 + initrigs4_dorji @58 + initrigs4_drake @59 + initrigs4_dummy @60 + initrigs4_elad @61 + initrigs4_flexradio @62 + initrigs4_icm710 @63 + initrigs4_icmarine @64 + initrigs4_icom @65 + initrigs4_jrc @66 + initrigs4_kachina @67 + initrigs4_kenwood @68 + initrigs4_kit @69 + initrigs4_lowe @70 + initrigs4_pcr @71 + initrigs4_prm80 @72 + initrigs4_racal @73 + initrigs4_rft @74 + initrigs4_rs @75 + initrigs4_skanti @76 + initrigs4_tapr @77 + initrigs4_tentec @78 + initrigs4_tuner @79 + initrigs4_uniden @80 + initrigs4_winradio @81 + initrigs4_wj @82 + initrigs4_yaesu @83 + initrots4_amsat @84 + initrots4_ars @85 + initrots4_celestron @86 + initrots4_cnctrk @87 + initrots4_dummy @88 + initrots4_easycomm @89 + initrots4_ether6 @90 + initrots4_fodtrack @91 + initrots4_gs232a @92 + initrots4_heathkit @93 + initrots4_ioptron @94 + initrots4_kit @95 + initrots4_m2 @96 + initrots4_meade @97 + initrots4_prosistel @98 + initrots4_radant @99 + initrots4_rotorez @100 + initrots4_sartek @101 + initrots4_satel @102 + initrots4_spid @103 + initrots4_ts7400 @104 + locator2longlat @105 + longlat2locator @106 + millis_to_dot10ths @107 + morse_code_dot_to_millis @108 + netrigctl_get_vfo_mode @109 + network_multicast_server @110 + par_lock @111 + par_read_control @112 + par_read_data @113 + par_read_status @114 + par_unlock @115 + par_write_control @116 + par_write_data @117 + parse_hoststr @118 + port_close @119 + port_open @120 + print_ext_param @121 + probeallrigs4_adat @122 + probeallrigs4_drake @123 + probeallrigs4_elad @124 + probeallrigs4_icom @125 + probeallrigs4_kenwood @126 + probeallrigs4_lowe @127 + probeallrigs4_uniden @128 + probeallrigs4_yaesu @129 + qrb @130 + read_block @131 + read_string @132 + rig_check_backend @133 + rig_check_cache_timeout @134 + rig_cleanup @135 + rig_close @136 + rig_confparam_lookup @137 + rig_cookie @138 + rig_copyright @139 + rig_debug @140 + rig_ext_func_foreach @141 + rig_ext_level_foreach @142 + rig_ext_lookup @143 + rig_ext_lookup_tok @144 + rig_ext_parm_foreach @145 + rig_ext_token_lookup @146 + rig_flush @147 + rig_force_cache_timeout @148 + rig_get_ant @149 + rig_get_cache @150 + rig_get_cache_timeout_ms @151 + rig_get_caps @152 + rig_get_caps_cptr @153 + rig_get_caps_int @154 + rig_get_chan_all @155 + rig_get_chan_all_cb @156 + rig_get_channel @157 + rig_get_clock @158 + rig_get_conf @159 + rig_get_ctcss_sql @160 + rig_get_ctcss_tone @161 + rig_get_dcd @162 + rig_get_dcs_code @163 + rig_get_dcs_sql @164 + rig_get_ext_func @165 + rig_get_ext_level @166 + rig_get_ext_parm @167 + rig_get_freq @168 + rig_get_func @169 + rig_get_function_ptr @170 + rig_get_info @171 + rig_get_level @172 + rig_get_mem @173 + rig_get_mem_all @174 + rig_get_mem_all_cb @175 + rig_get_mode @176 + rig_get_parm @177 + rig_get_powerstat @178 + rig_get_ptt @179 + rig_get_range @180 + rig_get_resolution @181 + rig_get_rig_info @182 + rig_get_rit @183 + rig_get_rptr_offs @184 + rig_get_rptr_shift @185 + rig_get_split_freq @186 + rig_get_split_freq_mode @187 + rig_get_split_mode @188 + rig_get_split_vfo @189 + rig_get_trn @190 + rig_get_ts @191 + rig_get_twiddle @192 + rig_get_vfo @193 + rig_get_vfo_info @194 + rig_get_vfo_list @195 + rig_get_xit @196 + rig_has_get_func @197 + rig_has_get_level @198 + rig_has_get_parm @199 + rig_has_scan @200 + rig_has_set_func @201 + rig_has_set_level @202 + rig_has_set_parm @203 + rig_has_vfo_op @204 + rig_idx2setting @205 + rig_init @206 + rig_license @207 + rig_list_foreach @208 + rig_list_foreach_model @209 + rig_load_all_backends @210 + rig_load_backend @211 + rig_lookup_mem_caps @212 + rig_mW2power @213 + rig_mem_count @214 + rig_need_debug @215 + rig_no_restore_ai @216 + rig_open @217 + rig_parse_func @218 + rig_parse_level @219 + rig_parse_mode @220 + rig_parse_mtype @221 + rig_parse_parm @222 + rig_parse_rptr_shift @223 + rig_parse_scan @224 + rig_parse_vfo @225 + rig_parse_vfo_op @226 + rig_passband_narrow @227 + rig_passband_normal @228 + rig_passband_wide @229 + rig_power2mW @230 + rig_probe @231 + rig_probe_all @232 + rig_raw2val @233 + rig_raw2val_float @234 + rig_recv_dtmf @235 + rig_register @236 + rig_reset @237 + rig_scan @238 + rig_send_dtmf @239 + rig_send_morse @240 + rig_send_voice_mem @241 + rig_set_ant @242 + rig_set_bank @243 + rig_set_cache_timeout_ms @244 + rig_set_chan_all @245 + rig_set_chan_all_cb @246 + rig_set_channel @247 + rig_set_clock @248 + rig_set_conf @249 + rig_set_ctcss_sql @250 + rig_set_ctcss_tone @251 + rig_set_dcd_callback @252 + rig_set_dcs_code @253 + rig_set_dcs_sql @254 + rig_set_debug @255 + rig_set_debug_callback @256 + rig_set_debug_file @257 + rig_set_debug_time_stamp @258 + rig_set_ext_func @259 + rig_set_ext_level @260 + rig_set_ext_parm @261 + rig_set_freq @262 + rig_set_freq_callback @263 + rig_set_func @264 + rig_set_level @265 + rig_set_mem @266 + rig_set_mem_all @267 + rig_set_mem_all_cb @268 + rig_set_mode @269 + rig_set_mode_callback @270 + rig_set_parm @271 + rig_set_pltune_callback @272 + rig_set_powerstat @273 + rig_set_ptt @274 + rig_set_ptt_callback @275 + rig_set_rit @276 + rig_set_rptr_offs @277 + rig_set_rptr_shift @278 + rig_set_spectrum_callback @279 + rig_set_split_freq @280 + rig_set_split_freq_mode @281 + rig_set_split_mode @282 + rig_set_split_vfo @283 + rig_set_trn @284 + rig_set_ts @285 + rig_set_twiddle @286 + rig_set_uplink @287 + rig_set_vfo @288 + rig_set_vfo_callback @289 + rig_set_vfo_opt @290 + rig_set_xit @291 + rig_setting2idx @292 + rig_sprintf_ant @293 + rig_sprintf_func @294 + rig_sprintf_level @295 + rig_sprintf_level_gran @296 + rig_sprintf_mode @297 + rig_sprintf_parm @298 + rig_sprintf_parm_gran @299 + rig_sprintf_scan @300 + rig_sprintf_spectrum_avg_modes @301 + rig_sprintf_spectrum_modes @302 + rig_sprintf_spectrum_spans @303 + rig_sprintf_vfo @304 + rig_sprintf_vfop @305 + rig_stop_morse @306 + rig_stragclevel @307 + rig_strfunc @308 + rig_strlevel @309 + rig_strmtype @310 + rig_strparm @311 + rig_strptrshift @312 + rig_strrmode @313 + rig_strrmodes @314 + rig_strscan @315 + rig_strspectrummode @316 + rig_strstatus @317 + rig_strvfo @318 + rig_strvfop @319 + rig_token_foreach @320 + rig_token_lookup @321 + rig_unregister @322 + rig_version @323 + rig_vfo_op @324 + rig_wait_morse @325 + rigerror @326 + rot_check_backend @327 + rot_cleanup @328 + rot_close @329 + rot_confparam_lookup @330 + rot_ext_func_foreach @331 + rot_ext_level_foreach @332 + rot_ext_lookup @333 + rot_ext_lookup_tok @334 + rot_ext_parm_foreach @335 + rot_ext_token_lookup @336 + rot_get_caps @337 + rot_get_conf @338 + rot_get_ext_func @339 + rot_get_ext_level @340 + rot_get_ext_parm @341 + rot_get_func @342 + rot_get_info @343 + rot_get_level @344 + rot_get_parm @345 + rot_get_position @346 + rot_get_status @347 + rot_has_get_func @348 + rot_has_get_level @349 + rot_has_get_parm @350 + rot_has_set_func @351 + rot_has_set_level @352 + rot_has_set_parm @353 + rot_init @354 + rot_list_foreach @355 + rot_load_all_backends @356 + rot_load_backend @357 + rot_move @358 + rot_open @359 + rot_park @360 + rot_parse_func @361 + rot_parse_level @362 + rot_parse_parm @363 + rot_probe_all @364 + rot_register @365 + rot_reset @366 + rot_set_conf @367 + rot_set_ext_func @368 + rot_set_ext_level @369 + rot_set_ext_parm @370 + rot_set_func @371 + rot_set_level @372 + rot_set_parm @373 + rot_set_position @374 + rot_sprintf_func @375 + rot_sprintf_level @376 + rot_sprintf_level_gran @377 + rot_sprintf_parm @378 + rot_sprintf_parm_gran @379 + rot_sprintf_status @380 + rot_stop @381 + rot_strfunc @382 + rot_strlevel @383 + rot_strparm @384 + rot_strstatus @385 + rot_token_foreach @386 + rot_token_lookup @387 + rot_unregister @388 + ser_get_car @389 + ser_get_cts @390 + ser_get_dsr @391 + ser_get_dtr @392 + ser_get_rts @393 + ser_set_brk @394 + ser_set_dtr @395 + ser_set_rts @396 + serial_flush @397 + serial_open @398 + serial_setup @399 + sprintf_freq @400 + sprintf_level_ext @401 + sync_callback @402 + to_bcd @403 + to_bcd_be @404 + vfo_fixup @405 + vfo_fixup2a @406 + write_block @407 diff --git a/scripts/MSVC/2022/x64/hamlibTest/libhamlib-4.exp b/scripts/MSVC/2022/x64/hamlibTest/libhamlib-4.exp new file mode 100644 index 0000000000000000000000000000000000000000..9dd27852e39739479b9c79cbbc3a7f1eec719155 GIT binary patch literal 50001 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 ouF}eZ^*KecZKlMV< + + + + \ No newline at end of file diff --git a/scripts/MSVC/2022/x64/hamlibTest/small.ico b/scripts/MSVC/2022/x64/hamlibTest/small.ico new file mode 100644 index 0000000000000000000000000000000000000000..b3ec03bd617f32e58128fa977fd6ac9605124f4b GIT binary patch literal 46227 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 diff --git a/scripts/MSVC/2022/x86/hamlibTest/README.txt b/scripts/MSVC/2022/x86/hamlibTest/README.txt new file mode 100644 index 000000000..fd7459e7f --- /dev/null +++ b/scripts/MSVC/2022/x86/hamlibTest/README.txt @@ -0,0 +1,3 @@ +To get the pthread package from Developer command prompt. +nuget restore hamlibTest.vcxproj -PackagesDirectory packages + diff --git a/scripts/MSVC/2022/x86/hamlibTest/Resource.h b/scripts/MSVC/2022/x86/hamlibTest/Resource.h new file mode 100644 index 000000000..47c4c6cea --- /dev/null +++ b/scripts/MSVC/2022/x86/hamlibTest/Resource.h @@ -0,0 +1,30 @@ +//{{NO_DEPENDENCIES}} +// Microsoft Visual C++ generated include file. +// Used by hamlibTest.rc + +#define IDS_APP_TITLE 103 + +#define IDR_MAINFRAME 128 +#define IDD_HAMLIBTEST_DIALOG 102 +#define IDD_ABOUTBOX 103 +#define IDM_ABOUT 104 +#define IDM_EXIT 105 +#define IDI_HAMLIBTEST 107 +#define IDI_SMALL 108 +#define IDC_HAMLIBTEST 109 +#define IDC_MYICON 2 +#ifndef IDC_STATIC +#define IDC_STATIC -1 +#endif +// Next default values for new objects +// +#ifdef APSTUDIO_INVOKED +#ifndef APSTUDIO_READONLY_SYMBOLS + +#define _APS_NO_MFC 130 +#define _APS_NEXT_RESOURCE_VALUE 129 +#define _APS_NEXT_COMMAND_VALUE 32771 +#define _APS_NEXT_CONTROL_VALUE 1000 +#define _APS_NEXT_SYMED_VALUE 110 +#endif +#endif diff --git a/scripts/MSVC/2022/x86/hamlibTest/framework.h b/scripts/MSVC/2022/x86/hamlibTest/framework.h new file mode 100644 index 000000000..7d94bc44f --- /dev/null +++ b/scripts/MSVC/2022/x86/hamlibTest/framework.h @@ -0,0 +1,15 @@ +// header.h : include file for standard system include files, +// or project specific include files +// + +#pragma once + +#include "targetver.h" +#define WIN32_LEAN_AND_MEAN // Exclude rarely-used stuff from Windows headers +// Windows Header Files +#include +// C RunTime Header Files +#include +#include +#include +#include diff --git a/scripts/MSVC/2022/x86/hamlibTest/hamlibTest.cpp b/scripts/MSVC/2022/x86/hamlibTest/hamlibTest.cpp new file mode 100644 index 000000000..05040b58f --- /dev/null +++ b/scripts/MSVC/2022/x86/hamlibTest/hamlibTest.cpp @@ -0,0 +1,187 @@ +// hamlibTest.cpp : Defines the entry point for the application. +// Note that the MSVC build requires the pthread package as of Sep 2022 + +#include "framework.h" +#include "hamlibTest.h" + +#include "hamlib\rig.h" +#include "hamlib\rotator.h" + + +#define MAX_LOADSTRING 100 + +// Global Variables: +HINSTANCE hInst; // current instance +WCHAR szTitle[MAX_LOADSTRING]; // The title bar text +WCHAR szWindowClass[MAX_LOADSTRING]; // the main window class name + +// Forward declarations of functions included in this code module: +ATOM MyRegisterClass(HINSTANCE hInstance); +BOOL InitInstance(HINSTANCE, int); +LRESULT CALLBACK WndProc(HWND, UINT, WPARAM, LPARAM); +INT_PTR CALLBACK About(HWND, UINT, WPARAM, LPARAM); + +int APIENTRY wWinMain(_In_ HINSTANCE hInstance, + _In_opt_ HINSTANCE hPrevInstance, + _In_ LPWSTR lpCmdLine, + _In_ int nCmdShow) +{ + UNREFERENCED_PARAMETER(hPrevInstance); + UNREFERENCED_PARAMETER(lpCmdLine); + + // TODO: Place code here. + + // Initialize global strings + LoadStringW(hInstance, IDS_APP_TITLE, szTitle, MAX_LOADSTRING); + LoadStringW(hInstance, IDC_HAMLIBTEST, szWindowClass, MAX_LOADSTRING); + MyRegisterClass(hInstance); + + // Perform application initialization: + if (!InitInstance (hInstance, nCmdShow)) + { + return FALSE; + } + + RIG* myRig = rig_init(RIG_MODEL_DUMMY); + ROT* myRot = rot_init(ROT_MODEL_DUMMY); + + HACCEL hAccelTable = LoadAccelerators(hInstance, MAKEINTRESOURCE(IDC_HAMLIBTEST)); + + MSG msg; + + // Main message loop: + while (GetMessage(&msg, nullptr, 0, 0)) + { + if (!TranslateAccelerator(msg.hwnd, hAccelTable, &msg)) + { + TranslateMessage(&msg); + DispatchMessage(&msg); + } + } + + return (int) msg.wParam; +} + + + +// +// FUNCTION: MyRegisterClass() +// +// PURPOSE: Registers the window class. +// +ATOM MyRegisterClass(HINSTANCE hInstance) +{ + WNDCLASSEXW wcex; + + wcex.cbSize = sizeof(WNDCLASSEX); + + wcex.style = CS_HREDRAW | CS_VREDRAW; + wcex.lpfnWndProc = WndProc; + wcex.cbClsExtra = 0; + wcex.cbWndExtra = 0; + wcex.hInstance = hInstance; + wcex.hIcon = LoadIcon(hInstance, MAKEINTRESOURCE(IDI_HAMLIBTEST)); + wcex.hCursor = LoadCursor(nullptr, IDC_ARROW); + wcex.hbrBackground = (HBRUSH)(COLOR_WINDOW+1); + wcex.lpszMenuName = MAKEINTRESOURCEW(IDC_HAMLIBTEST); + wcex.lpszClassName = szWindowClass; + wcex.hIconSm = LoadIcon(wcex.hInstance, MAKEINTRESOURCE(IDI_SMALL)); + + return RegisterClassExW(&wcex); +} + +// +// FUNCTION: InitInstance(HINSTANCE, int) +// +// PURPOSE: Saves instance handle and creates main window +// +// COMMENTS: +// +// In this function, we save the instance handle in a global variable and +// create and display the main program window. +// +BOOL InitInstance(HINSTANCE hInstance, int nCmdShow) +{ + hInst = hInstance; // Store instance handle in our global variable + + HWND hWnd = CreateWindowW(szWindowClass, szTitle, WS_OVERLAPPEDWINDOW, + CW_USEDEFAULT, 0, CW_USEDEFAULT, 0, nullptr, nullptr, hInstance, nullptr); + + if (!hWnd) + { + return FALSE; + } + + ShowWindow(hWnd, nCmdShow); + UpdateWindow(hWnd); + + return TRUE; +} + +// +// FUNCTION: WndProc(HWND, UINT, WPARAM, LPARAM) +// +// PURPOSE: Processes messages for the main window. +// +// WM_COMMAND - process the application menu +// WM_PAINT - Paint the main window +// WM_DESTROY - post a quit message and return +// +// +LRESULT CALLBACK WndProc(HWND hWnd, UINT message, WPARAM wParam, LPARAM lParam) +{ + switch (message) + { + case WM_COMMAND: + { + int wmId = LOWORD(wParam); + // Parse the menu selections: + switch (wmId) + { + case IDM_ABOUT: + DialogBox(hInst, MAKEINTRESOURCE(IDD_ABOUTBOX), hWnd, About); + break; + case IDM_EXIT: + DestroyWindow(hWnd); + break; + default: + return DefWindowProc(hWnd, message, wParam, lParam); + } + } + break; + case WM_PAINT: + { + PAINTSTRUCT ps; + HDC hdc = BeginPaint(hWnd, &ps); + // TODO: Add any drawing code that uses hdc here... + EndPaint(hWnd, &ps); + } + break; + case WM_DESTROY: + PostQuitMessage(0); + break; + default: + return DefWindowProc(hWnd, message, wParam, lParam); + } + return 0; +} + +// Message handler for about box. +INT_PTR CALLBACK About(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) +{ + UNREFERENCED_PARAMETER(lParam); + switch (message) + { + case WM_INITDIALOG: + return (INT_PTR)TRUE; + + case WM_COMMAND: + if (LOWORD(wParam) == IDOK || LOWORD(wParam) == IDCANCEL) + { + EndDialog(hDlg, LOWORD(wParam)); + return (INT_PTR)TRUE; + } + break; + } + return (INT_PTR)FALSE; +} diff --git a/scripts/MSVC/2022/x86/hamlibTest/hamlibTest.h b/scripts/MSVC/2022/x86/hamlibTest/hamlibTest.h new file mode 100644 index 000000000..e60f2eb7e --- /dev/null +++ b/scripts/MSVC/2022/x86/hamlibTest/hamlibTest.h @@ -0,0 +1,3 @@ +#pragma once + +#include "resource.h" diff --git a/scripts/MSVC/2022/x86/hamlibTest/hamlibTest.ico b/scripts/MSVC/2022/x86/hamlibTest/hamlibTest.ico new file mode 100644 index 0000000000000000000000000000000000000000..b3ec03bd617f32e58128fa977fd6ac9605124f4b GIT binary patch literal 46227 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 XuxUf>d|Vo`*&bkDm}$QLoSfrdM@Sjr literal 0 HcmV?d00001 diff --git a/scripts/MSVC/2022/x86/hamlibTest/hamlibTest.sln b/scripts/MSVC/2022/x86/hamlibTest/hamlibTest.sln new file mode 100644 index 000000000..f28d117e3 --- /dev/null +++ b/scripts/MSVC/2022/x86/hamlibTest/hamlibTest.sln @@ -0,0 +1,36 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio Version 17 +VisualStudioVersion = 17.3.32825.248 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "hamlibTest", "hamlibTest.vcxproj", "{D6A9E0F7-CE30-4255-860C-BABEC8360F24}" +EndProject +Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Solution Items", "Solution Items", "{8A537F0A-CF7B-463F-A3E1-F4C321A3978F}" + ProjectSection(SolutionItems) = preProject + .github\workflows\build-bba40.yaml = .github\workflows\build-bba40.yaml + EndProjectSection +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|x64 = Debug|x64 + Debug|x86 = Debug|x86 + Release|x64 = Release|x64 + Release|x86 = Release|x86 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {D6A9E0F7-CE30-4255-860C-BABEC8360F24}.Debug|x64.ActiveCfg = Debug|x64 + {D6A9E0F7-CE30-4255-860C-BABEC8360F24}.Debug|x64.Build.0 = Debug|x64 + {D6A9E0F7-CE30-4255-860C-BABEC8360F24}.Debug|x86.ActiveCfg = Debug|Win32 + {D6A9E0F7-CE30-4255-860C-BABEC8360F24}.Debug|x86.Build.0 = Debug|Win32 + {D6A9E0F7-CE30-4255-860C-BABEC8360F24}.Release|x64.ActiveCfg = Release|x64 + {D6A9E0F7-CE30-4255-860C-BABEC8360F24}.Release|x64.Build.0 = Release|x64 + {D6A9E0F7-CE30-4255-860C-BABEC8360F24}.Release|x86.ActiveCfg = Release|Win32 + {D6A9E0F7-CE30-4255-860C-BABEC8360F24}.Release|x86.Build.0 = Release|Win32 + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection + GlobalSection(ExtensibilityGlobals) = postSolution + SolutionGuid = {2846179C-7E5E-44DC-829D-C74586FD113C} + EndGlobalSection +EndGlobal diff --git a/scripts/MSVC/2022/x86/hamlibTest/hamlibTest.vcxproj b/scripts/MSVC/2022/x86/hamlibTest/hamlibTest.vcxproj new file mode 100644 index 000000000..2e64e374e --- /dev/null +++ b/scripts/MSVC/2022/x86/hamlibTest/hamlibTest.vcxproj @@ -0,0 +1,177 @@ + + + + + Debug + Win32 + + + Release + Win32 + + + Debug + x64 + + + Release + x64 + + + + 16.0 + Win32Proj + {d6a9e0f7-ce30-4255-860c-babec8360f24} + hamlibTest + 10.0 + + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + Application + true + v143 + Unicode + + + Application + false + v143 + true + Unicode + + + + + + + + + + + + + + + + + + + + + true + + + false + + + true + + + false + + + + Level3 + true + WIN32;_DEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + C:\projects\hamlib-w32-4.5\include + + + Windows + true + C:\Projects\hamlib-w32-4.5\lib\msvc + libhamlib-4.lib;%(AdditionalDependencies) + + + + + Level3 + true + true + true + WIN32;NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + + + Windows + true + true + true + + + + + Level3 + true + _DEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + C:\Projects\hamlib-w32-4.5\include;%(AdditionalIncludeDirectories) + + + Windows + true + + + + + Level3 + true + true + true + NDEBUG;_WINDOWS;%(PreprocessorDefinitions) + true + + + Windows + true + true + true + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + 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}. + + + + + \ No newline at end of file diff --git a/scripts/MSVC/2022/x86/hamlibTest/hamlibTest.vcxproj.user b/scripts/MSVC/2022/x86/hamlibTest/hamlibTest.vcxproj.user new file mode 100644 index 000000000..0f14913f3 --- /dev/null +++ b/scripts/MSVC/2022/x86/hamlibTest/hamlibTest.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/scripts/MSVC/2022/x86/hamlibTest/hamlibTest2.cpp b/scripts/MSVC/2022/x86/hamlibTest/hamlibTest2.cpp new file mode 100644 index 000000000..fa1733c1c --- /dev/null +++ b/scripts/MSVC/2022/x86/hamlibTest/hamlibTest2.cpp @@ -0,0 +1,7 @@ +// Test including rig.h in a 2nd file +#include + +int testinclude() +{ + return 0; +} \ No newline at end of file diff --git a/scripts/MSVC/2022/x86/hamlibTest/libhamlib-4.lib b/scripts/MSVC/2022/x86/hamlibTest/libhamlib-4.lib new file mode 100644 index 0000000000000000000000000000000000000000..818ffc79472d1dd74d56e1d45bbdb78bf3dc4f00 GIT binary patch literal 154838 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 + + + + \ No newline at end of file diff --git a/scripts/MSVC/2022/x86/hamlibTest/small.ico b/scripts/MSVC/2022/x86/hamlibTest/small.ico new file mode 100644 index 0000000000000000000000000000000000000000..b3ec03bd617f32e58128fa977fd6ac9605124f4b GIT binary patch literal 46227 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