Przeglądaj źródła

pthread: fix esp_pthread.h to compatible with c++

esp_pthread.h is missing the necessary extern "C"{ ... } wrapper to be compatible with C++. The result is link errors when you call its functions from C++ code, because the compiler generates mangled names.

Closes https://github.com/espressif/esp-idf/issues/2121
Closes https://github.com/espressif/esp-idf/issues/2172
morris 7 lat temu
rodzic
commit
5c6e1e6e67
1 zmienionych plików z 10 dodań i 0 usunięć
  1. 10 0
      components/pthread/include/esp_pthread.h

+ 10 - 0
components/pthread/include/esp_pthread.h

@@ -11,6 +11,13 @@
 // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
 // See the License for the specific language governing permissions and
 // limitations under the License.
+
+#pragma once
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
 #include <pthread.h>
 
 /** pthread configuration structure that influences pthread creation */
@@ -55,3 +62,6 @@ esp_err_t esp_pthread_set_cfg(const esp_pthread_cfg_t *cfg);
  */
 esp_err_t esp_pthread_get_cfg(esp_pthread_cfg_t *p);
 
+#ifdef __cplusplus
+}
+#endif