This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

User Include Directories and Macros

Hello,

I am in trouble with adding macros and using the macro in user include directories.

As you know, sample project comes with following user include directories;

../../../config
../../../../../../components
../../../../../../components/ble/ble_advertising
../../../../../../components/ble/ble_dtm
../../../../../../components/ble/ble_link_ctx_manager
../../../../../../components/ble/ble_racp
../../../../../../components/ble/ble_services/ble_ancs_c
../../../../../../components/ble/ble_services/ble_ans_c
../../../../../../components/ble/ble_services/ble_bas
../../../../../../components/ble/ble_services/ble_bas_c
../../../../../../components/ble/ble_services/ble_cscs
../../../../../../components/ble/ble_services/ble_cts_c
../../../../../../components/ble/ble_services/ble_dfu
../../../../../../components/ble/ble_services/ble_dis
../../../../../../components/ble/ble_services/ble_gls
../../../../../../components/ble/ble_services/ble_hids
../../../../../../components/ble/ble_services/ble_hrs
../../../../../../components/ble/ble_services/ble_hrs_c
../../../../../../components/ble/ble_services/ble_hts
../../../../../../components/ble/ble_services/ble_ias
../../../../../../components/ble/ble_services/ble_ias_c
../../../../../../components/ble/ble_services/ble_lbs
../../../../../../components/ble/ble_services/ble_lbs_c
../../../../../../components/ble/ble_services/ble_lls
../../../../../../components/ble/ble_services/ble_nus
../../../../../../components/ble/ble_services/ble_nus_c
../../../../../../components/ble/ble_services/ble_rscs
../../../../../../components/ble/ble_services/ble_rscs_c
../../../../../../components/ble/ble_services/ble_tps
../../../../../../components/ble/common
../../../../../../components/ble/nrf_ble_gatt
../../../../../../components/ble/nrf_ble_qwr
../../../../../../components/ble/peer_manager
../../../../../../components/boards
../../../../../../components/libraries/atomic
../../../../../../components/libraries/atomic_fifo
../../../../../../components/libraries/atomic_flags
../../../../../../components/libraries/balloc
../../../../../../components/libraries/bootloader/ble_dfu
../../../../../../components/libraries/bsp
../../../../../../components/libraries/button
../../../../../../components/libraries/cli
../../../../../../components/libraries/crc16
../../../../../../components/libraries/crc32
../../../../../../components/libraries/crypto
../../../../../../components/libraries/csense
../../../../../../components/libraries/csense_drv
../../../../../../components/libraries/delay
../../../../../../components/libraries/ecc
../../../../../../components/libraries/experimental_section_vars
../../../../../../components/libraries/experimental_task_manager
../../../../../../components/libraries/fds
../../../../../../components/libraries/fifo
../../../../../../components/libraries/fstorage
../../../../../../components/libraries/gfx
../../../../../../components/libraries/gpiote
../../../../../../components/libraries/hardfault
../../../../../../components/libraries/hci
../../../../../../components/libraries/led_softblink
../../../../../../components/libraries/log
../../../../../../components/libraries/log/src
../../../../../../components/libraries/low_power_pwm
../../../../../../components/libraries/mem_manager
../../../../../../components/libraries/memobj
../../../../../../components/libraries/mpu
../../../../../../components/libraries/mutex
../../../../../../components/libraries/pwm
../../../../../../components/libraries/pwr_mgmt
../../../../../../components/libraries/queue
../../../../../../components/libraries/ringbuf
../../../../../../components/libraries/scheduler
../../../../../../components/libraries/sdcard
../../../../../../components/libraries/slip
../../../../../../components/libraries/sortlist
../../../../../../components/libraries/spi_mngr
../../../../../../components/libraries/stack_guard
../../../../../../components/libraries/strerror
../../../../../../components/libraries/svc
../../../../../../components/libraries/timer
../../../../../../components/libraries/twi_mngr
../../../../../../components/libraries/twi_sensor
../../../../../../components/libraries/uart
../../../../../../components/libraries/usbd
../../../../../../components/libraries/usbd/class/audio
../../../../../../components/libraries/usbd/class/cdc
../../../../../../components/libraries/usbd/class/cdc/acm
../../../../../../components/libraries/usbd/class/hid
../../../../../../components/libraries/usbd/class/hid/generic
../../../../../../components/libraries/usbd/class/hid/kbd
../../../../../../components/libraries/usbd/class/hid/mouse
../../../../../../components/libraries/usbd/class/msc
../../../../../../components/libraries/util
../../../../../../components/nfc/ndef/conn_hand_parser
../../../../../../components/nfc/ndef/conn_hand_parser/ac_rec_parser
../../../../../../components/nfc/ndef/conn_hand_parser/ble_oob_advdata_parser
../../../../../../components/nfc/ndef/conn_hand_parser/le_oob_rec_parser
../../../../../../components/nfc/ndef/connection_handover/ac_rec
../../../../../../components/nfc/ndef/connection_handover/ble_oob_advdata
../../../../../../components/nfc/ndef/connection_handover/ble_pair_lib
../../../../../../components/nfc/ndef/connection_handover/ble_pair_msg
../../../../../../components/nfc/ndef/connection_handover/common
../../../../../../components/nfc/ndef/connection_handover/ep_oob_rec
../../../../../../components/nfc/ndef/connection_handover/hs_rec
../../../../../../components/nfc/ndef/connection_handover/le_oob_rec
../../../../../../components/nfc/ndef/generic/message
../../../../../../components/nfc/ndef/generic/record
../../../../../../components/nfc/ndef/launchapp
../../../../../../components/nfc/ndef/parser/message
../../../../../../components/nfc/ndef/parser/record
../../../../../../components/nfc/ndef/text
../../../../../../components/nfc/ndef/uri
../../../../../../components/nfc/platform
../../../../../../components/nfc/t2t_lib
../../../../../../components/nfc/t2t_parser
../../../../../../components/nfc/t4t_lib
../../../../../../components/nfc/t4t_parser/apdu
../../../../../../components/nfc/t4t_parser/cc_file
../../../../../../components/nfc/t4t_parser/hl_detection_procedure
../../../../../../components/nfc/t4t_parser/tlv
../../../../../../components/softdevice/common
../../../../../../components/softdevice/s140/headers
../../../../../../components/softdevice/s140/headers/nrf52
../../../../../../components/toolchain/cmsis/include
../../../../../../external/fprintf
../../../../../../external/segger_rtt
../../../../../../external/utf_converter
../../../../../../integration/nrfx
../../../../../../integration/nrfx/legacy
../../../../../../modules/nrfx
../../../../../../modules/nrfx/drivers/include
../../../../../../modules/nrfx/hal
../../../../../../modules/nrfx/mdk
../config

I copied the project to another folder. 

I added following macro to common section

SDK_INSTALL_PATH=C:/Nordic_Semi/nrf52833_sdk_1_60
CMSIS_CONFIG_TOOL=../../../../../../external_tools/cmsisconfig/CMSIS_Configuration_Wizard.jar

Then, I changed all user includes to 

$(SDK_INSTALL_BASE)/config
$(SDK_INSTALL_BASE)/components
$(SDK_INSTALL_BASE)/components/ble/ble_advertising
$(SDK_INSTALL_BASE)/components/ble/ble_dtm
$(SDK_INSTALL_BASE)/components/ble/ble_link_ctx_manager
$(SDK_INSTALL_BASE)/components/ble/ble_racp
$(SDK_INSTALL_BASE)/components/ble/ble_services/ble_ancs_c
$(SDK_INSTALL_BASE)/components/ble/ble_services/ble_ans_c
$(SDK_INSTALL_BASE)/components/ble/ble_services/ble_bas
$(SDK_INSTALL_BASE)/components/ble/ble_services/ble_bas_c
$(SDK_INSTALL_BASE)/components/ble/ble_services/ble_cscs
$(SDK_INSTALL_BASE)/components/ble/ble_services/ble_cts_c
$(SDK_INSTALL_BASE)/components/ble/ble_services/ble_dfu
$(SDK_INSTALL_BASE)/components/ble/ble_services/ble_dis
$(SDK_INSTALL_BASE)/components/ble/ble_services/ble_gls
$(SDK_INSTALL_BASE)/components/ble/ble_services/ble_hids
$(SDK_INSTALL_BASE)/components/ble/ble_services/ble_hrs
$(SDK_INSTALL_BASE)/components/ble/ble_services/ble_hrs_c
$(SDK_INSTALL_BASE)/components/ble/ble_services/ble_hts
$(SDK_INSTALL_BASE)/components/ble/ble_services/ble_ias
$(SDK_INSTALL_BASE)/components/ble/ble_services/ble_ias_c
$(SDK_INSTALL_BASE)/components/ble/ble_services/ble_lbs
$(SDK_INSTALL_BASE)/components/ble/ble_services/ble_lbs_c
$(SDK_INSTALL_BASE)/components/ble/ble_services/ble_lls
$(SDK_INSTALL_BASE)/components/ble/ble_services/ble_nus
$(SDK_INSTALL_BASE)/components/ble/ble_services/ble_nus_c
$(SDK_INSTALL_BASE)/components/ble/ble_services/ble_rscs
$(SDK_INSTALL_BASE)/components/ble/ble_services/ble_rscs_c
$(SDK_INSTALL_BASE)/components/ble/ble_services/ble_tps
$(SDK_INSTALL_BASE)/components/ble/common
$(SDK_INSTALL_BASE)/components/ble/nrf_ble_gatt
$(SDK_INSTALL_BASE)/components/ble/nrf_ble_qwr
$(SDK_INSTALL_BASE)/components/ble/peer_manager
$(SDK_INSTALL_BASE)/components/boards
$(SDK_INSTALL_BASE)/components/libraries/atomic
$(SDK_INSTALL_BASE)/components/libraries/atomic_fifo
$(SDK_INSTALL_BASE)/components/libraries/atomic_flags
$(SDK_INSTALL_BASE)/components/libraries/balloc
$(SDK_INSTALL_BASE)/components/libraries/bootloader/ble_dfu
$(SDK_INSTALL_BASE)/components/libraries/bsp
$(SDK_INSTALL_BASE)/components/libraries/button
$(SDK_INSTALL_BASE)/components/libraries/cli
$(SDK_INSTALL_BASE)/components/libraries/crc16
$(SDK_INSTALL_BASE)/components/libraries/crc32
$(SDK_INSTALL_BASE)/components/libraries/crypto
$(SDK_INSTALL_BASE)/components/libraries/csense
$(SDK_INSTALL_BASE)/components/libraries/csense_drv
$(SDK_INSTALL_BASE)/components/libraries/delay
$(SDK_INSTALL_BASE)/components/libraries/ecc
$(SDK_INSTALL_BASE)/components/libraries/experimental_section_vars
$(SDK_INSTALL_BASE)/components/libraries/experimental_task_manager
$(SDK_INSTALL_BASE)/components/libraries/fds
$(SDK_INSTALL_BASE)/components/libraries/fifo
$(SDK_INSTALL_BASE)/components/libraries/fstorage
$(SDK_INSTALL_BASE)/components/libraries/gfx
$(SDK_INSTALL_BASE)/components/libraries/gpiote
$(SDK_INSTALL_BASE)/components/libraries/hardfault
$(SDK_INSTALL_BASE)/components/libraries/hci
$(SDK_INSTALL_BASE)/components/libraries/led_softblink
$(SDK_INSTALL_BASE)/components/libraries/log
$(SDK_INSTALL_BASE)/components/libraries/log/src
$(SDK_INSTALL_BASE)/components/libraries/low_power_pwm
$(SDK_INSTALL_BASE)/components/libraries/mem_manager
$(SDK_INSTALL_BASE)/components/libraries/memobj
$(SDK_INSTALL_BASE)/components/libraries/mpu
$(SDK_INSTALL_BASE)/components/libraries/mutex
$(SDK_INSTALL_BASE)/components/libraries/pwm
$(SDK_INSTALL_BASE)/components/libraries/pwr_mgmt
$(SDK_INSTALL_BASE)/components/libraries/queue
$(SDK_INSTALL_BASE)/components/libraries/ringbuf
$(SDK_INSTALL_BASE)/components/libraries/scheduler
$(SDK_INSTALL_BASE)/components/libraries/sdcard
$(SDK_INSTALL_BASE)/components/libraries/slip
$(SDK_INSTALL_BASE)/components/libraries/sortlist
$(SDK_INSTALL_BASE)/components/libraries/spi_mngr
$(SDK_INSTALL_BASE)/components/libraries/stack_guard
$(SDK_INSTALL_BASE)/components/libraries/strerror
$(SDK_INSTALL_BASE)/components/libraries/svc
$(SDK_INSTALL_BASE)/components/libraries/timer
$(SDK_INSTALL_BASE)/components/libraries/twi_mngr
$(SDK_INSTALL_BASE)/components/libraries/twi_sensor
$(SDK_INSTALL_BASE)/components/libraries/uart
$(SDK_INSTALL_BASE)/components/libraries/usbd
$(SDK_INSTALL_BASE)/components/libraries/usbd/class/audio
$(SDK_INSTALL_BASE)/components/libraries/usbd/class/cdc
$(SDK_INSTALL_BASE)/components/libraries/usbd/class/cdc/acm
$(SDK_INSTALL_BASE)/components/libraries/usbd/class/hid
$(SDK_INSTALL_BASE)/components/libraries/usbd/class/hid/generic
$(SDK_INSTALL_BASE)/components/libraries/usbd/class/hid/kbd
$(SDK_INSTALL_BASE)/components/libraries/usbd/class/hid/mouse
$(SDK_INSTALL_BASE)/components/libraries/usbd/class/msc
$(SDK_INSTALL_BASE)/components/libraries/util
$(SDK_INSTALL_BASE)/components/nfc/ndef/conn_hand_parser
$(SDK_INSTALL_BASE)/components/nfc/ndef/conn_hand_parser/ac_rec_parser
$(SDK_INSTALL_BASE)/components/nfc/ndef/conn_hand_parser/ble_oob_advdata_parser
$(SDK_INSTALL_BASE)/components/nfc/ndef/conn_hand_parser/le_oob_rec_parser
$(SDK_INSTALL_BASE)/components/nfc/ndef/connection_handover/ac_rec
$(SDK_INSTALL_BASE)/components/nfc/ndef/connection_handover/ble_oob_advdata
$(SDK_INSTALL_BASE)/components/nfc/ndef/connection_handover/ble_pair_lib
$(SDK_INSTALL_BASE)/components/nfc/ndef/connection_handover/ble_pair_msg
$(SDK_INSTALL_BASE)/components/nfc/ndef/connection_handover/common
$(SDK_INSTALL_BASE)/components/nfc/ndef/connection_handover/ep_oob_rec
$(SDK_INSTALL_BASE)/components/nfc/ndef/connection_handover/hs_rec
$(SDK_INSTALL_BASE)/components/nfc/ndef/connection_handover/le_oob_rec
$(SDK_INSTALL_BASE)/components/nfc/ndef/generic/message
$(SDK_INSTALL_BASE)/components/nfc/ndef/generic/record
$(SDK_INSTALL_BASE)/components/nfc/ndef/launchapp
$(SDK_INSTALL_BASE)/components/nfc/ndef/parser/message
$(SDK_INSTALL_BASE)/components/nfc/ndef/parser/record
$(SDK_INSTALL_BASE)/components/nfc/ndef/text
$(SDK_INSTALL_BASE)/components/nfc/ndef/uri
$(SDK_INSTALL_BASE)/components/nfc/platform
$(SDK_INSTALL_BASE)/components/nfc/t2t_lib
$(SDK_INSTALL_BASE)/components/nfc/t2t_parser
$(SDK_INSTALL_BASE)/components/nfc/t4t_lib
$(SDK_INSTALL_BASE)/components/nfc/t4t_parser/apdu
$(SDK_INSTALL_BASE)/components/nfc/t4t_parser/cc_file
$(SDK_INSTALL_BASE)/components/nfc/t4t_parser/hl_detection_procedure
$(SDK_INSTALL_BASE)/components/nfc/t4t_parser/tlv
$(SDK_INSTALL_BASE)/components/softdevice/common
$(SDK_INSTALL_BASE)/components/softdevice/s140/headers
$(SDK_INSTALL_BASE)/components/softdevice/s140/headers/nrf52
$(SDK_INSTALL_BASE)/components/toolchain/cmsis/include
$(SDK_INSTALL_BASE)/external/fprintf
$(SDK_INSTALL_BASE)/external/segger_rtt
$(SDK_INSTALL_BASE)/external/utf_converter
$(SDK_INSTALL_BASE)/integration/nrfx
$(SDK_INSTALL_BASE)/integration/nrfx/legacy
$(SDK_INSTALL_BASE)/modules/nrfx
$(SDK_INSTALL_BASE)/modules/nrfx/drivers/include
$(SDK_INSTALL_BASE)/modules/nrfx/hal
$(SDK_INSTALL_BASE)/modules/nrfx/mdk
../config

When I compile, the compiler gives this error;

It looks like, modification on user include directories has no effect. 

I think, I am doing something wrong. However I could not find the missing part. 

Could you help me to solve my problem?

  • Hi. 

    It seems that some .c files are missing. Have you made sure that the files mentioned in the build error is included in your project?

    Could you try doing a build -> clean project_x

    Also, when making changes to project settings, make sure that you have selected the project before entering the settings menu. 

    One more thing that I noticed: 
    In the macro you added, you name the macro as: SDK_INSTALL_PATH. 
    But in the user include directories, you refer to the macro: SDK_INSTALL_BASE. 
    Make sure that the name is correct, and that there isn't any spellingmistakes etc. 

    Best regards, 
    Joakim

Related