Open ps3017 opened 6 months ago
It looks like a THORLABS_DIR
also needs ot be defined in the CONFIG_SITE or CONFIG_SITE.local file:
https://github.com/epics-motor/motorThorLabs/blob/2c76b20d50dc41a7703f8923f02e644610e6f6e2/thorlabsApp/src/Makefile#L21
Hi,
the THORLABS_DIR
was already defined in CONFIG_SITE.local when I was getting the error. I am building the module inside MSYS2 UCRT64 with arch: windows-x64-mingw. What solved the reported build error was adding the line USR_LDFLAGS = -L$(THORLABS_DIR)
to the file "motorThorLabs/thorlabsApp/src/Makefile" and changing ThorLabs_DLL_LIBS
to ThorLabs_SYS_LIBS
. This is the updated Makefile:
# Makefile
TOP = ../..
include $(TOP)/configure/CONFIG
# The following are used for debugging messages.
USR_CXXFLAGS += -DDEBUG
#OPT_CXXFLAGS = -g -O0
DBD += devThorLabs.dbd
LIBRARY_IOC = ThorLabs
# Intelligent Motion Systems driver support.
SRCS += ThorLabsRegister.cc
SRCS += devMDT695.cc drvMDT695.cc
ifeq ($(WITH_KINESIS),YES)
SRC_DIRS += $(TOP)/thorlabsApp/src/kinesis
USR_INCLUDES = -I$(THORLABS_DIR)
USR_LDFLAGS = -L$(THORLABS_DIR)
DBD += devThorLabsKinesis.dbd
SRCS += drvKinesis.cpp
SRCS += drvKinesisStepper.cpp
SRCS += drvKinesisDC.cpp
Thorlabs.MotionControl.KCube.DCServo_DIR += $(THORLABS_DIR)
ThorLabs_SYS_LIBS += Thorlabs.MotionControl.KCube.DCServo
Thorlabs.MotionControl.KCube.StepperMotor_DIR += $(THORLABS_DIR)
ThorLabs_SYS_LIBS += Thorlabs.MotionControl.KCube.StepperMotor
endif
ThorLabs_LIBS += motor asyn
ThorLabs_LIBS += $(EPICS_BASE_IOC_LIBS)
include $(TOP)/configure/RULES
Hi, I wanted to build the motorThorlabs submodule outside motor with Kinesis support and build the example IOC as well. I updated the RELEASE.local file, and set WITH_KINESIS = YES and BUILD_IOCS = YES in CONFIG_SITE.local. I'm working inside MSYS2 UCRT64 on a Windows 10 system. When executing "make" in the "motorThorlabs" directory I got the following output:
Do you know what's the cause of the "undefined reference" errors I'm getting?
Thanks in advance!